https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100412
Bug ID: 100412 Summary: [11/12 regression] PASS & FAIL for same test aarch64-qemu: gcc.dg/Wvla-parameter-[23].c pr????? Product: gcc Version: 11.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: rearnsha at gcc dot gnu.org Target Milestone: --- contrig/test_summary on Arm and AArch64 shows both PASS and FAIL with the same summary line. Tests that now fail, but worked before (6 tests): aarch64-qemu: gcc.dg/Wvla-parameter-2.c pr????? (test for warnings, line 40) aarch64-qemu: gcc.dg/Wvla-parameter-2.c pr????? (test for warnings, line 42) aarch64-qemu: gcc.dg/Wvla-parameter-2.c pr????? (test for warnings, line 44) aarch64-qemu: gcc.dg/Wvla-parameter-2.c pr????? (test for warnings, line 46) aarch64-qemu: gcc.dg/Wvla-parameter-3.c pr????? (test for warnings, line 35) aarch64-qemu: gcc.dg/Wvla-parameter-3.c pr????? (test for warnings, line 39) Tests that now work, but didn't before (6 tests): aarch64-qemu: gcc.dg/Wvla-parameter-2.c pr????? (test for warnings, line 40) aarch64-qemu: gcc.dg/Wvla-parameter-2.c pr????? (test for warnings, line 42) aarch64-qemu: gcc.dg/Wvla-parameter-2.c pr????? (test for warnings, line 44) aarch64-qemu: gcc.dg/Wvla-parameter-2.c pr????? (test for warnings, line 46) aarch64-qemu: gcc.dg/Wvla-parameter-3.c pr????? (test for warnings, line 35) aarch64-qemu: gcc.dg/Wvla-parameter-3.c pr????? (test for warnings, line 39) It looks like these tests really do have two tests that try to refer to the same line (one of which is an XFAIL), but this breaks the summary reporter. Is there a way of reworking this test to remove these bogus reports, perhaps by duplicating the declarations on separate lines so instead of: void f (int[n1][2][n3][4][n5][6][*][8][n9]); // { dg-warning "argument 1 of type 'int\\\[n1]\\\[2]\\\[n3]\\\[4]\\\[n5]\\\[6]\\\[\\\*]\\\[8]\\\[n9]' declared with 1 unspecified variable bound" "pr?????" { xfail *-*-* } } // { dg-warning "argument 1 of type 'int\\\[n1]\\\[2]\\\[n3]\\\[4]\\\[n5]\\\[6]\\\[0]\\\[8]\\\[n9]' declared with 1 unspecified variable bound" "pr?????" { target *-*-* } .-1 } We have: void f (int[n1][2][n3][4][n5][6][*][8][n9]); // { dg-warning "argument 1 of type 'int\\\[n1]\\\[2]\\\[n3]\\\[4]\\\[n5]\\\[6]\\\[\\\*]\\\[8]\\\[n9]' declared with 1 unspecified variable bound" "pr?????" { xfail *-*-* } } void g (int[n1][2][n3][4][n5][6][*][8][n9]); // { dg-warning "argument 1 of type 'int\\\[n1]\\\[2]\\\[n3]\\\[4]\\\[n5]\\\[6]\\\[0]\\\[8]\\\[n9]' declared with 1 unspecified variable bound" "pr?????" { target *-*-* } }