summaryrefslogtreecommitdiff
path: root/gcc/c-lex.c
diff options
context:
space:
mode:
authorrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-02-07 18:15:41 +0000
committerrms <rms@138bc75d-0d04-0410-961f-82ee72b054a4>1993-02-07 18:15:41 +0000
commit48656adc28f5bf4767c36a6de818a16aa573a37c (patch)
tree6597a601297d77bb5d7d91306f4625adae2879ef /gcc/c-lex.c
parent817e5691b6663c01a6298004e7657f1801cd852a (diff)
downloadgcc-48656adc28f5bf4767c36a6de818a16aa573a37c.tar.gz
(yylex): At eof, if binding levels not popped,
imagine some close-braces to pop them. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3435 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-lex.c')
-rw-r--r--gcc/c-lex.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gcc/c-lex.c b/gcc/c-lex.c
index 00feafdb25b..d818f33e868 100644
--- a/gcc/c-lex.c
+++ b/gcc/c-lex.c
@@ -1024,6 +1024,13 @@ yylex ()
{
case EOF:
end_of_file = 1;
+ if (! global_bindings_p ())
+ {
+ yyerror ("parse error");
+ token_buffer[0] = '}';
+ value = '}';
+ break;
+ }
token_buffer[0] = 0;
value = ENDFILE;
break;