This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] detect unknown type names in declaration


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.


Paolo

Attachment: tests-46462.patch
Description: Text document


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]