This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Seemingly bogus FAILs in g++ testsuite.
- From: Dave Korn <dave dot korn dot cygwin at gmail dot com>
- To: "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>
- Date: Wed, 13 Mar 2013 14:06:27 +0000
- Subject: Seemingly bogus FAILs in g++ testsuite.
Hi list,
I'm in the middle of a testsuite run and just saw the following FAILs crop up:
> FAIL: g++.old-deja/g++.brendan/cvt1.C (test for excess errors)
> FAIL: g++.old-deja/g++.brendan/enum11.C (test for excess errors)
> FAIL: g++.old-deja/g++.brendan/enum8.C (test for excess errors)
> FAIL: g++.old-deja/g++.brendan/enum9.C (test for excess errors)
> FAIL: g++.old-deja/g++.brendan/friend3.C (test for excess errors)
They all result from the same kind of error message, e.g.:
> /gnu/gcc/gcc/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C
> /gnu/gcc/gcc/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C:8:43: error: comma at end of enumerator list [-Wpedantic]
> /gnu/gcc/gcc/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C:18:44: error: comma at end of enumerator list [-Wpedantic]
> compiler exited with status 1
> output is:
> /gnu/gcc/gcc/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C:8:43: error: comma at end of enumerator list [-Wpedantic]
> /gnu/gcc/gcc/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C:18:44: error: comma at end of enumerator list [-Wpedantic]
>
> FAIL: g++.old-deja/g++.brendan/cvt1.C (test for excess errors)
> Excess errors:
> /gnu/gcc/gcc/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C:8:43: error: comma at end of enumerator list [-Wpedantic]
> /gnu/gcc/gcc/gcc/testsuite/g++.old-deja/g++.brendan/cvt1.C:18:44: error: comma at end of enumerator list [-Wpedantic]
Which is strange in two regards, because:
> $ cat -n /gnu/gcc/gcc/gcc/testsuite/g++.old-deja/g++.brendan/enum11.C
> 1 // { dg-do assemble }
> 2 // GROUPS passed enums
> 3 class X
> 4 {
> 5 enum
> 6 {
> 7 oneMask = 0x0000FFFF,
> 8 twoMask = 0x000F0000,
> 9 thiMask = 0xFFF00000, // { dg-error "comma at end" "" { target c++98 } }
> 10 };
> 11 unsigned int foo;
> 12
> 13 public:
> 14 X (int) : foo (oneMask | twoMask ) {} // No warning
> 15 X () : foo (oneMask | twoMask | thiMask) {} // Warning
> 16 };
#1: Line 8 isn't the end of the enum list; line #9 is and it's correctly
tagged with dg-error
#2: There aren't even 18 lines in the source.
This doesn't appear to be happening on Linux (I'm using i686-pc-cygwin), so
is there some target-dependent support for the new error carets that needs
adding? (I'd guess not, and anyway, how would that turn one error into two,
but asking nonetheless). Has anyone else seen anything like this or got some
idea what might be going wrong?
cheers,
DaveK