[PATCH] detect unknown type names in declaration
H.J. Lu
hjl.tools@gmail.com
Sat Nov 13 17:22:00 GMT 2010
On Sat, Nov 13, 2010 at 8:18 AM, Paolo Bonzini <bonzini@gnu.org> wrote:
> On 11/13/2010 03:15 PM, H.J. Lu wrote:
>>
>> On Sat, Oct 30, 2010 at 6:24 AM, Paolo Bonzini<bonzini@gnu.org> 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<bonzini@gnu.org>
>>>
>>> * c-parser.c (c_parser_next_token_starts_declaration): Rename
>>> to...
>>> (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:
>>
>> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=46462
>
> 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.
--
H.J.
More information about the Gcc-patches
mailing list