2 * { dg-options "-std=gnu23" } */
4 // structs with variably modified types
8 struct f
{ int b
; int a
[n
]; } *x
;
9 { struct f
{ int b
; int a
[n
]; } *x2
= x
; }
10 { struct f
{ int b
; int a
[m
]; } *x2
= x
; }
11 { struct f
{ int b
; int a
[5]; } *x2
= x
; }
12 { struct f
{ int b
; int a
[0]; } *x2
= x
; }
13 { struct f
{ int b
; int a
[]; } *x2
= x
; }
15 struct g
{ int a
[n
]; int b
; } *y
;
16 { struct g
{ int a
[n
]; int b
; } *y2
= y
; }
17 { struct g
{ int a
[m
]; int b
; } *y2
= y
; }
18 { struct g
{ int a
[4]; int b
; } *y2
= y
; }
20 struct h
{ int b
; int a
[5]; } *w
;
21 { struct h
{ int b
; int a
[5]; } *w2
= w
; }
22 { struct h
{ int b
; int a
[n
]; } *w2
= w
; }
23 { struct h
{ int b
; int a
[m
]; } *w2
= w
; }
25 struct i
{ int b
; int (*a
)(int c
[n
]); } *u
;
26 { struct i
{ int b
; int (*a
)(int c
[4]); } *u2
= u
; }
27 { struct i
{ int b
; int (*a
)(int c
[]); } *u2
= u
; }
28 { struct i
{ int b
; int (*a
)(int c
[*]); } *u2
= u
; }