aboutsummaryrefslogtreecommitdiffstats
path: root/powerpc
diff options
context:
space:
mode:
authorXavier Leroy <xavier.leroy@college-de-france.fr>2021-09-25 12:03:55 +0200
committerXavier Leroy <xavier.leroy@college-de-france.fr>2021-09-28 10:24:49 +0200
commit2892e2caa89f927062824ca901562d085a76d619 (patch)
tree5f0d111c6e3960e7df30edc1ce4cf0095cf1b224 /powerpc
parent627ab2dbe51decddff281d986367d0790643dd40 (diff)
downloadcompcert-kvx-2892e2caa89f927062824ca901562d085a76d619.tar.gz
compcert-kvx-2892e2caa89f927062824ca901562d085a76d619.zip
Ignore unnamed plain members of structs and unions
E.g. `struct { int; int x; };`. The `int;` declaration provides no name, is not a bit field, and is not a C11 anonymous struct/union member. Such declarations are not allowed by the C99 grammar, even though GCC, Clang and CompCert tolerate them. The C11 grammar allows these declarations but the standard text gives them no meaning. CompCert used to warn about such declarations, yet include them in the struct or union as unnamed members, similar to an unnamed bit field. This is incorrect and inconsistent with what GCC and Clang do. With this commit, CompCert still warns, then ignores the declaration and does not create an unnamed member. This is consistent with GCC and Clang. Fixes: #411
Diffstat (limited to 'powerpc')
0 files changed, 0 insertions, 0 deletions