https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108427
Bug ID: 108427 Summary: bitfield tests fail with missing warnings Product: gcc Version: 13.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: testsuite Assignee: unassigned at gcc dot gnu.org Reporter: nightstrike at gmail dot com Target Milestone: --- Both bitfield-3.m and bitfield-5.m appear to fail for the same reason on x86_64-w64-mingw32 (cross compiled from linux, if it matters). The tests each contain multiple tests for warnings, only one of which is missing in each case: PASS: objc.dg/bitfield-3.m -fgnu-runtime (test for warnings, line 20) FAIL: objc.dg/bitfield-3.m -fgnu-runtime (test for warnings, line 27) PASS: objc.dg/bitfield-3.m -fgnu-runtime (test for warnings, line 32) PASS: objc.dg/bitfield-3.m -fgnu-runtime (test for warnings, line 33) PASS: objc.dg/bitfield-3.m -fgnu-runtime (test for excess errors) PASS: objc.dg/bitfield-3.m -fgnu-runtime execution test PASS: objc.dg/bitfield-5.m -fgnu-runtime (test for warnings, line 24) PASS: objc.dg/bitfield-5.m -fgnu-runtime (test for warnings, line 33) FAIL: objc.dg/bitfield-5.m -fgnu-runtime (test for warnings, line 40) PASS: objc.dg/bitfield-5.m -fgnu-runtime (test for warnings, line 52) PASS: objc.dg/bitfield-5.m -fgnu-runtime (test for warnings, line 57) PASS: objc.dg/bitfield-5.m -fgnu-runtime (test for warnings, line 70) PASS: objc.dg/bitfield-5.m -fgnu-runtime (test for warnings, line 74) PASS: objc.dg/bitfield-5.m -fgnu-runtime (test for warnings, line 75) PASS: objc.dg/bitfield-5.m -fgnu-runtime (test for warnings, line 76) PASS: objc.dg/bitfield-5.m -fgnu-runtime (test for excess errors) There are similar tests and failures for objc++, but maybe these are supposed to be XFAIL'd due to PR23610: PASS: obj-c++.dg/bitfield-4.mm -fgnu-runtime (test for warnings, line 21) PASS: obj-c++.dg/bitfield-4.mm -fgnu-runtime (test for warnings, line 33) PASS: obj-c++.dg/bitfield-4.mm -fgnu-runtime PR23610 at line 53 (test for bogus messages, line ) PASS: obj-c++.dg/bitfield-4.mm -fgnu-runtime PR23610 at line 55 (test for bogus messages, line 28) FAIL: obj-c++.dg/bitfield-4.mm -fgnu-runtime PR23610 at line 56 (test for bogus messages, line 34) PASS: obj-c++.dg/bitfield-4.mm -fgnu-runtime (test for excess errors) PASS: obj-c++.dg/bitfield-4.mm -fgnu-runtime execution test PASS: obj-c++.dg/bitfield-1.mm -fgnu-runtime (test for warnings, line 26) PASS: obj-c++.dg/bitfield-1.mm -fgnu-runtime (test for warnings, line 29) PASS: obj-c++.dg/bitfield-1.mm -fgnu-runtime (test for warnings, line 76) PASS: obj-c++.dg/bitfield-1.mm -fgnu-runtime PR23610 at line 118 (test for bogus messages, line ) PASS: obj-c++.dg/bitfield-1.mm -fgnu-runtime PR23610 at line 119 (test for bogus messages, line 42) FAIL: obj-c++.dg/bitfield-1.mm -fgnu-runtime PR23610 at line 120 (test for bogus messages, line 45) FAIL: obj-c++.dg/bitfield-1.mm -fgnu-runtime PR23610 at line 121 (test for bogus messages, line 59) FAIL: obj-c++.dg/bitfield-1.mm -fgnu-runtime PR23610 at line 122 (test for bogus messages, line 62) FAIL: obj-c++.dg/bitfield-1.mm -fgnu-runtime PR23610 at line 123 (test for bogus messages, line 77) FAIL: obj-c++.dg/bitfield-1.mm -fgnu-runtime PR23610 at line 124 (test for bogus messages, line 78) PASS: obj-c++.dg/bitfield-1.mm -fgnu-runtime (test for excess errors) bitfield-3.m: @interface Derived: Base { signed e: 5; int f: 4; enum Enum g: 3; } /* { dg-warning "padding struct size to alignment boundary" } */ @end bitfield-5.m: @interface Derived: Base { @public signed e: 5; unsigned f: 4; enum Enum g: 3; } /* { dg-warning "padding struct size to alignment boundary" } */ @end