diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f816b48b58b..32b916cb199 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2004-10-11 Nathan Sidwell + + * gengtype-lex.l: Add commented } & ) characters to unconfuse + editor's paren matching. Allow #define inside a struct. + 2004-10-10 Andrew Pinski PR middle-end/17703 diff --git a/gcc/gengtype-lex.l b/gcc/gengtype-lex.l index 0c0c06d2f44..e2872eeffa4 100644 --- a/gcc/gengtype-lex.l +++ b/gcc/gengtype-lex.l @@ -270,7 +270,7 @@ ITYPE {IWORD}({WS}{IWORD})* "/*" { BEGIN(in_struct_comment); } -^"%{" { BEGIN(in_yacc_escape); } +^"%{" { BEGIN(in_yacc_escape); } /* } */ ^"@@".* /* Used for c-parse.in C/ObjC demarcation. */ @@ -307,7 +307,7 @@ ITYPE {IWORD}({WS}{IWORD})* char *ptr = yytext; macro = ptr; - while (*ptr != '(' && !ISSPACE (*ptr)) + while (*ptr != '(' && !ISSPACE (*ptr)) /* )*/ ptr++; macro_len = ptr - macro; while (*ptr == '(' || ISSPACE (*ptr)) @@ -361,6 +361,8 @@ ITYPE {IWORD}({WS}{IWORD})* return PERCENTPERCENT; } +"#define"[^\n]*\n {lexer_line.line++;} + . { error_at_line (&lexer_line, "unexpected character `%s'", yytext); }