C++ PATCH: Improve exceptions/inlining compile-time performance

David Edelsohn dje@watson.ibm.com
Fri Apr 25 14:31:00 GMT 2003


>>>>> Mark Mitchell writes:

Mark> I'm very confused by this one:

>> FAIL: g++.dg/parse/class1.C (test for excess errors)

Mark> With a cross compiler from i686-pc-linux-gnu to powerpc-ibm-aix4.3, I
Mark> get the exact same messages for these tests as I do with a native
Mark> compiler.  In particular:

Mark> [mitchell@sirius gcc]$ ./cc1plus -fmessage-length=0
Mark> ../../gcc/testsuite/g++.dg/parse/class1.C
Mark> int N::f()
Mark> ../../gcc/testsuite/g++.dg/parse/class1.C:5: error: declaration of
Mark> `struct N::A' in `int N::f()' which does not enclose `N'
Mark> ../../gcc/testsuite/g++.dg/parse/class1.C:5: confused by earlier errors,
Mark> bailing out

Mark> There is a dg-error entry at line 5, so I'm not sure why this test is
Mark> failing.  What does your g++.log file say for this test?

/usr/gnu/src/gcc-3.3/gcc/testsuite/g++.dg/parse/class1.C: In function `int N::f()':
/usr/gnu/src/gcc-3.3/gcc/testsuite/g++.dg/parse/class1.C:5: error: declaration of `struct N::A' in `int N::f()' which does not enclose `N'
/usr/gnu/src/gcc-3.3/gcc/testsuite/g++.dg/parse/class1.C:6: error: declaration does not declare anything
/usr/gnu/src/gcc-3.3/gcc/testsuite/g++.dg/parse/class1.C:6: error: parse error before `)' token
/usr/gnu/src/gcc-3.3/gcc/testsuite/g++.dg/parse/class1.C:6: error: missing ';' before right brace

	The compiler doe not "bail out" on AIX.

Mark> I'm also confused by this one:

>> FAIL: g++.dg/warn/weak1.C (test for excess errors)

Mark> The output I get is:

Mark> weak1.C:5: warning: weak declaration of `void foo()' not supported

Mark> which seems very reasonable, given that it's not support on AIX.  I
Mark> can't see how this test would ever have passed.  Shouldn't AIX just be
Mark> added to the list of targets expected to fail for that test?  (The test
Mark> is already XFAILed for *-*-coff and i?86-pc-cygwin.)

	Yes, I do not know why this succeeded before and I am not worried
	about this one.

>> FAIL: g++.other/decl5.C (test for excess errors)

Mark> This is another one where I get the exact same output with the cross
Mark> compiler and the native compiler -- and the native compiler passes the
Mark> test.  There is again, a "confused by earlier errors" message; is that
Mark> not working for you for some reason?

	I get a screenful of additional errors.  The "bailing out"
functionality does not seem to be kicking in on AIX any more.

	Both seem to be related to the change between March 9 and March 11
that Dave Anglin mentioned.

David



More information about the Gcc-patches mailing list