A structure with a flexible array member shall not be a member of a structure or an element of an array according to the ISO C Standard.

This commit is contained in:
acqn
2023-09-18 15:44:58 +08:00
parent dd833125a8
commit fc603129da
3 changed files with 30 additions and 0 deletions

View File

@@ -0,0 +1,11 @@
/* Bug #2016 - cc65 erroneously allows struct fields that are structs with flexible array members */
typedef struct x {
int a;
int b[]; /* Ok: Flexible array member can be last */
} x;
struct y {
x x; /* Not ok: Contains flexible array member */
int a;
};

View File

@@ -0,0 +1,9 @@
/* Bug #2017 - cc65 erroneously allows arrays of structs with flexible array members */
struct z {
int a;
int c;
int b[];
};
struct z y[3]; /* Should be an error */