This is the mail archive of the
mailing list for the GCC project.
Re: [PATCH] detect unknown type names in declaration
On Sat, Nov 13, 2010 at 8:18 AM, Paolo Bonzini <firstname.lastname@example.org> wrote:
> On 11/13/2010 03:15 PM, H.J. Lu wrote:
>> On Sat, Oct 30, 2010 at 6:24 AM, Paolo Bonzini<email@example.com> ?wrote:
>>> This patch improves GCC error detection so that some cases of
>>> declarations with unknown type names are detected. ?This also
>>> allows GCC to do better on cascading errors, because the variables
>>> that are declared enter the symbol table.
>>> Bootstrapped/regtested x86_64-pc-linux-gnu, ok?
>>> 2010-10-30 ?Paolo Bonzini<firstname.lastname@example.org>
>>> ? ? ? ?* c-parser.c (c_parser_next_token_starts_declaration): Rename
>>> ? ? ? ?(c_parser_next_tokens_start_declaration): ... this. ?Handle 2nd
>>> ? ? ? ?token lookahead.
>>> ? ? ? ?(c_parser_compound_statement_nostart, c_parser_label,
>>> ? ? ? ?c_parser_for_statement, c_parser_omp_for_loop): Adjust calls.
>>> ? ? ? ?(c_parser_declaration_or_fndef): Detect the case now matched by
>>> ? ? ? ?c_parser_next_tokens_start_declaration, give error and correct it.
>> This caused:
> I'm committing the attached testsuite patch, which simply adjust the errors
> (they are now more precise). ?I'll post shortly a small adjustment to the C
> parser to unbreak Objective-C foreach and improve error recovery further.
There is one ICE:
FAIL: gcc.dg/pr14963.c (internal compiler error)
FAIL: gcc.dg/pr14963.c (test for excess errors)
It looks like a real bug.