Bug 46462 - [4.6 Regression] Revision 166700 caused new C test failures
Summary: [4.6 Regression] Revision 166700 caused new C test failures
Status: RESOLVED FIXED
Alias: None
Product: gcc
Classification: Unclassified
Component: c (show other bugs)
Version: 4.6.0
: P3 normal
Target Milestone: 4.6.0
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-13 14:14 UTC by H.J. Lu
Modified: 2010-11-15 12:46 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed: 2010-11-13 15:41:52


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description H.J. Lu 2010-11-13 14:14:21 UTC
Revision 166700:

http://gcc.gnu.org/ml/gcc-cvs/2010-11/msg00589.html

caused:

FAIL: c-c++-common/raw-string-8.c  -Wc++-compat  (test for excess errors)
FAIL: gcc.dg/cpp/direct2.c (test for excess errors)
FAIL: gcc.dg/cpp/direct2s.c (test for excess errors)
FAIL: gcc.dg/dfp/constants-c99.c (test for excess errors)
FAIL: gcc.dg/dfp/keywords-c99.c (test for excess errors)
FAIL: gcc.dg/gomp/pr34607.c  (test for errors, line 12)
FAIL: gcc.dg/gomp/pr34607.c  (test for errors, line 14)
FAIL: gcc.dg/gomp/pr34607.c  (test for errors, line 16)
FAIL: gcc.dg/gomp/pr34607.c (test for excess errors)
FAIL: gcc.dg/gomp/pr34607.c reminder (test for warnings, line )
FAIL: gcc.dg/noncompile/920923-1.c  -O0   (test for errors, line 27)
FAIL: gcc.dg/noncompile/920923-1.c  -O0   (test for errors, line 29)
FAIL: gcc.dg/noncompile/920923-1.c  -O0   (test for errors, line 55)
FAIL: gcc.dg/noncompile/920923-1.c  -O0   (test for errors, line 8)
FAIL: gcc.dg/noncompile/920923-1.c  -O0  (test for excess errors)
FAIL: gcc.dg/noncompile/920923-1.c  -O1   (test for errors, line 27)
FAIL: gcc.dg/noncompile/920923-1.c  -O1   (test for errors, line 29)
FAIL: gcc.dg/noncompile/920923-1.c  -O1   (test for errors, line 55)
FAIL: gcc.dg/noncompile/920923-1.c  -O1   (test for errors, line 8)
FAIL: gcc.dg/noncompile/920923-1.c  -O1  (test for excess errors)
FAIL: gcc.dg/noncompile/920923-1.c  -O2   (test for errors, line 27)
FAIL: gcc.dg/noncompile/920923-1.c  -O2   (test for errors, line 29)
FAIL: gcc.dg/noncompile/920923-1.c  -O2   (test for errors, line 55)
FAIL: gcc.dg/noncompile/920923-1.c  -O2   (test for errors, line 8)
FAIL: gcc.dg/noncompile/920923-1.c  -O2  (test for excess errors)
FAIL: gcc.dg/noncompile/920923-1.c  -O2 -flto   (test for errors, line 27)
FAIL: gcc.dg/noncompile/920923-1.c  -O2 -flto   (test for errors, line 29)
FAIL: gcc.dg/noncompile/920923-1.c  -O2 -flto   (test for errors, line 55)
FAIL: gcc.dg/noncompile/920923-1.c  -O2 -flto   (test for errors, line 8)
FAIL: gcc.dg/noncompile/920923-1.c  -O2 -flto  (test for excess errors)
FAIL: gcc.dg/noncompile/920923-1.c  -O2 -flto -flto-partition=none   (test for errors, line 27)
FAIL: gcc.dg/noncompile/920923-1.c  -O2 -flto -flto-partition=none   (test for errors, line 29)
FAIL: gcc.dg/noncompile/920923-1.c  -O2 -flto -flto-partition=none   (test for errors, line 55)
FAIL: gcc.dg/noncompile/920923-1.c  -O2 -flto -flto-partition=none   (test for errors, line 8)
FAIL: gcc.dg/noncompile/920923-1.c  -O2 -flto -flto-partition=none  (test for excess errors)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer   (test for errors, line 27)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer   (test for errors, line 29)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer   (test for errors, line 55)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer   (test for errors, line 8)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer  (test for excess errors)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions   (test for errors, line 27)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions   (test for errors, line 29)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions   (test for errors, line 55)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions   (test for errors, line 8)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer -funroll-all-loops -finline-functions  (test for excess errors)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer -funroll-loops   (test for errors, line 27)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer -funroll-loops   (test for errors, line 29)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer -funroll-loops   (test for errors, line 55)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer -funroll-loops   (test for errors, line 8)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -fomit-frame-pointer -funroll-loops  (test for excess errors)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -g   (test for errors, line 27)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -g   (test for errors, line 29)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -g   (test for errors, line 55)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -g   (test for errors, line 8)
FAIL: gcc.dg/noncompile/920923-1.c  -O3 -g  (test for excess errors)
FAIL: gcc.dg/noncompile/920923-1.c  -Os   (test for errors, line 27)
FAIL: gcc.dg/noncompile/920923-1.c  -Os   (test for errors, line 29)
FAIL: gcc.dg/noncompile/920923-1.c  -Os   (test for errors, line 55)
FAIL: gcc.dg/noncompile/920923-1.c  -Os   (test for errors, line 8)
FAIL: gcc.dg/noncompile/920923-1.c  -Os  (test for excess errors)
FAIL: gcc.dg/pr14963.c (internal compiler error)
FAIL: gcc.dg/pr14963.c (test for excess errors)
FAIL: gcc.dg/pr35746.c  (test for errors, line 11)
FAIL: gcc.dg/pr35746.c  (test for errors, line 9)
FAIL: gcc.dg/pr35746.c (test for excess errors)
FAIL: gcc.dg/pr35746.c reminder (test for warnings, line 9)
FAIL: objc.dg/foreach-1.m -fgnu-runtime (test for excess errors)
FAIL: objc.dg/foreach-2.m -fgnu-runtime (test for excess errors)
FAIL: objc.dg/foreach-3.m -fgnu-runtime (test for excess errors)
FAIL: objc.dg/foreach-6.m -fgnu-runtime  (test for errors, line 36)
FAIL: objc.dg/foreach-6.m -fgnu-runtime  (test for errors, line 52)
FAIL: objc.dg/foreach-6.m -fgnu-runtime  (test for errors, line 55)
FAIL: objc.dg/foreach-6.m -fgnu-runtime  (test for errors, line 58)
FAIL: objc.dg/foreach-6.m -fgnu-runtime (test for excess errors)
FAIL: objc.dg/objc-foreach-2.m -fgnu-runtime (test for excess errors)
Comment 1 Paolo Bonzini 2010-11-13 16:19:38 UTC
Author: bonzini
Date: Sat Nov 13 16:19:33 2010
New Revision: 166711

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166711
Log:
2010-11-13  Paolo Bonzini  <bonzini@gnu.org>

	PR c/46462
	* gcc.dg/gomp/pr34607.c: Adjust errors for unknown typenames.
	* gcc.dg/pr35746.c: Likewise.
	* gcc.dg/cpp/direct2.c: Likewise.
	* gcc.dg/cpp/direct2s.c: Likewise.
	* gcc.dg/noncompile/920923-1.c: Likewise.
	* gcc.dg/dfp/constants-c99.c: Add -Wno-overflow.


Modified:
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gcc.dg/cpp/direct2.c
    trunk/gcc/testsuite/gcc.dg/cpp/direct2s.c
    trunk/gcc/testsuite/gcc.dg/dfp/constants-c99.c
    trunk/gcc/testsuite/gcc.dg/gomp/pr34607.c
    trunk/gcc/testsuite/gcc.dg/noncompile/920923-1.c
    trunk/gcc/testsuite/gcc.dg/pr35746.c
Comment 2 Paolo Bonzini 2010-11-13 16:27:24 UTC
FAIL: gcc.dg/pr14963.c (internal compiler error)
FAIL: gcc.dg/pr14963.c (test for excess errors)

I actually new about this, it's PR45062.

The Objective-C failures are bad.

The others are just tests that need to be adjusted, however for a couple of them it's better to improve error recovery further.
Comment 3 H.J. Lu 2010-11-14 00:59:03 UTC
As of revision 166721, I still see

FAIL: c-c++-common/raw-string-8.c  -Wc++-compat  (test for excess errors)
FAIL: gcc.dg/cpp/direct2.c (test for excess errors)
FAIL: gcc.dg/cpp/direct2s.c (test for excess errors)
FAIL: gcc.dg/dfp/constants-c99.c (test for excess errors)
FAIL: gcc.dg/dfp/keywords-c99.c (test for excess errors)
FAIL: gcc.dg/gomp/pr34607.c (test for excess errors)
FAIL: gcc.dg/pr35746.c (test for excess errors)

Some of them look like:

FAIL: c-c++-common/raw-string-8.c  -Wc++-compat  (test for excess errors)
Excess errors:
/export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/c-c++-common/raw-string-8.c:10:3: warning: type defaults to 'int' in declaration of 't' [enabled by default]

FAIL: gcc.dg/gomp/pr34607.c (test for excess errors)
Excess errors:
/export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/gcc.dg/gomp/pr34607.c:11:10: warning: type defaults to 'int' in declaration of 'i' [enabled by default]
/export/gnu/import/svn/gcc-test/src-trunk/gcc/testsuite/gcc.dg/gomp/pr34607.c:13:5: warning: type defaults to 'int' in declaration of 'j' [enabled by default]
Comment 4 Paolo Bonzini 2010-11-14 01:01:58 UTC
Patches have been posted, I'm waiting for Objective-C maintainers to (not) object before committing.  The warnings you see are cured by the c-decl.c part: the behavior of choosing int is correct, but the warning is superfluous (though theoretically correct).
Comment 5 Paolo Bonzini 2010-11-14 13:10:45 UTC
Author: bonzini
Date: Sun Nov 14 13:10:41 2010
New Revision: 166732

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=166732
Log:
2010-11-13  Paolo Bonzini  <bonzini@gnu.org>

	PR c/46462
	* c-decl.c (declspecs_add_type): Make variables with error types
	integers.
	* c-parser.c (c_parser_next_tokens_start_declaration): Two IDs
	do not start a declaration before an Objective-C foreach.
	(c_parser_declaration_or_fndef): Improve recovery after unknown
	type name.
	(c_parser_for_statement): Hoist entrance of "foreach context"
	before ifs, add corresponding reset where it was missing.  Do
	not set objc_could_be_foreach_context for C.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-decl.c
    trunk/gcc/c-parser.c
Comment 6 Richard Biener 2010-11-15 12:46:51 UTC
Fixed.