Fixed the bug that a union type containing a struct with a flexible array member was accepted as a struct member or array element type.

This commit is contained in:
acqn
2023-10-27 23:46:10 +08:00
parent 85e63e99a6
commit 8e45a4c960
4 changed files with 49 additions and 10 deletions

View File

@@ -5,7 +5,12 @@ typedef struct x {
int b[]; /* Ok: Flexible array member can be last */
} x;
typedef union u {
int a;
x x; /* Ok: Union member can contain flexible array member */
} u;
struct y {
x x; /* Not ok: Contains flexible array member */
u u; /* Not ok: Contains union that contains flexible array member */
int a;
};