See the added testcase. When one used designators like .a.x to initialize sub-members of members, and didn't then initialize all of them the required zero-initialization of the other sub-members wasn't done. The fix also enables tiny code cleanups.
		
			
				
	
	
		
			43 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
	
		
			1.5 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
ce: 1 12
 | 
						|
gs: 1 2 3 4
 | 
						|
gs2: 1 2 3 4
 | 
						|
gt: 68 65 6c 6c 6f 0 0 0 0 0 0 0 0 0 0 0 2a
 | 
						|
gu: 3 5 6 7 8 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
 | 
						|
gu2: 3 5 6 7 8 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
 | 
						|
gu3: 3 5 6 7 8 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
 | 
						|
gu4: 3 5 6 7 0 5 62 6c 61 0 0 0 0 0 0 0 0 0 0 0 0 0 2c
 | 
						|
gs3: 1 2 3 4
 | 
						|
gv: 3 4 5 6 68 61 68 61 0 0 0 0 0 0 0 0 0 0 0 0 2d 2e
 | 
						|
gv2: 7 8 9 a 68 69 68 69 0 0 0 0 0 0 0 0 0 0 0 0 2f 30
 | 
						|
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
 | 
						|
phdr: 6 5 4 3 0 0 0 0 0 0 0 0 0 0 0 0 9 8 7 6 0 0 0 0 0 0 0 0 0 0 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
 | 
						|
lu: 3 5 6 7 8 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
 | 
						|
lu1: 3 1 2 3 4 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
 | 
						|
lu2: 3 1 2 3 4 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
 | 
						|
ls21: 1 2 3 4
 | 
						|
lu21: 3 1 2 3 4 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
 | 
						|
lu22: 3 1 2 3 4 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
 | 
						|
lu3: 3 5 6 7 8 4 68 75 68 75 0 0 0 0 0 0 0 0 0 0 0 0 2b
 | 
						|
lu4: 3 5 6 7 0 5 62 6c 61 0 0 0 0 0 0 0 0 0 0 0 0 0 2c
 | 
						|
ls3: 1 2 3 4
 | 
						|
lv: 3 4 5 6 68 61 68 61 0 0 0 0 0 0 0 0 0 0 0 0 2d 2e
 | 
						|
lv2: 1 2 3 4 68 69 68 69 0 0 0 0 0 0 0 0 0 0 0 0 2f 30
 | 
						|
lv3: 7 8 9 a 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32
 | 
						|
lt2: 0 9 9 9 43 43 43 43 42 42 42 0 0 0 0 0 1
 | 
						|
flow: 9 8 7 6 0 0 0 0 0 0 0 0 0 0 0 0 6 5 4 3 0 0 0 0 0 0 0 0 0 0 0 0
 | 
						|
one
 | 
						|
two
 | 
						|
three
 | 
						|
sea_fill0: okay
 | 
						|
sea_fill1: okay
 | 
						|
sea_fill2: okay
 |