struct-init: Correctly parse unnamed member initializers
For
union U { struct {int a,b}; int c; };
union U u = {{ 1, 2, }};
The unnamed first member of union U needs to actually exist in the
structure so initializer parsing isn't confused about the double braces.
That means also the a and b members must be part of _that_, not of
union U directly. Which in turn means we need to do a bit more work
for field lookup.
See the testcase extension for more things that need to work.
This commit is contained in:
@ -13,6 +13,10 @@ gv3: 7 8 9 a 68 6f 68 6f 0 0 0 0 0 0 0 0 0 0 0 0 31 32
|
||||
sinit16: 1 0 0 0 2 0 0 0
|
||||
gw: 1 2 3 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
|
||||
gsu: 5 6
|
||||
guv: 6 5 0 0
|
||||
guv.b: 5
|
||||
guv2: 8 7 0 0
|
||||
guv3: 7 8 0 0
|
||||
ls: 1 2 3 4
|
||||
ls2: 1 2 3 4
|
||||
lt: 68 65 6c 6c 6f 0 0 0 0 0 0 0 0 0 0 0 2a
|
||||
|
||||
Reference in New Issue
Block a user