diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2018-02-25 14:44:29 +0100 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2018-02-25 14:44:29 +0100 |
| commit | 2145057cb8a50aba1a27a67be19953bee9b164fd (patch) | |
| tree | a8a5b759ef44ad1a88f1bf3064283ff3caa7fc69 /sys/test/test.txt | |
| parent | 1f4ae3f41357cf0a8cf8c698cbcd1000b8b44bf4 (diff) | |
pkg/compiler: fix alignment corner case
Fix alignemnt calculation for packed structs with alignment and bitfields.
Amusingly this affected only a single real struct -- ipv6_fragment_ext_header.
Diffstat (limited to 'sys/test/test.txt')
| -rw-r--r-- | sys/test/test.txt | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/test/test.txt b/sys/test/test.txt index d63ed598b..f520afa04 100644 --- a/sys/test/test.txt +++ b/sys/test/test.txt @@ -26,6 +26,7 @@ syz_test$align3(a0 ptr[in, syz_align3]) syz_test$align4(a0 ptr[in, syz_align4]) syz_test$align5(a0 ptr[in, syz_align5]) syz_test$align6(a0 ptr[in, syz_align6]) +syz_test$align7(a0 ptr[in, syz_align7]) syz_align0 { f0 int16 @@ -97,6 +98,20 @@ syz_align6 { f1 array[int32] } +syz_align7 { + f0 syz_align8 + f1 int8 +} + +syz_align8 { + f0 int8:1 + f1 int8:1 + f2 int8:1 + f3 int16:1 + f4 int16:1 + f5 int16:1 +} [packed, align_8] + # Structs syz_test$struct(a0 ptr[in, syz_struct0]) |
