aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZack Weinberg <zack@codesourcery.com>2001-10-12 03:34:39 +0000
committerZack Weinberg <zack@gcc.gnu.org>2001-10-12 03:34:39 +0000
commit7cb4ff28b161c364b176b7901f165a7210b5c9db (patch)
tree97e0e4f326a542e619daf88eca0ae3ed73c7dca1
parentb14127e69159d5138b9f345d5275cfbd3a762c4f (diff)
downloadgcc-7cb4ff28b161c364b176b7901f165a7210b5c9db.zip
gcc-7cb4ff28b161c364b176b7901f165a7210b5c9db.tar.gz
gcc-7cb4ff28b161c364b176b7901f165a7210b5c9db.tar.bz2
toplev.c (compile_file): Ignore return value from yyparse.
* toplev.c (compile_file): Ignore return value from yyparse. Always pop any nested binding levels after yyparse returns. From-SVN: r46223
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/toplev.c22
2 files changed, 14 insertions, 13 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index ca80a41..7d07060 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2001-10-11 Zack Weinberg <zack@codesourcery.com>
+
+ * toplev.c (compile_file): Ignore return value from yyparse.
+ Always pop any nested binding levels after yyparse returns.
+
2001-10-11 Richard Henderson <rth@redhat.com>
* doc/c-tree.texi (Expression trees): Add VTABLE_REF.
diff --git a/gcc/toplev.c b/gcc/toplev.c
index e940aa6..ab83065 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -2118,8 +2118,9 @@ pop_srcloc ()
lineno = input_file_stack->line;
}
-/* Compile an entire file of output from cpp, named NAME.
- Write a file of assembly output and various debugging dumps. */
+/* Compile an entire translation unit, whose primary source file is
+ named NAME. Write a file of assembly output and various debugging
+ dumps. */
static void
compile_file (name)
@@ -2140,7 +2141,7 @@ compile_file (name)
init_timevar ();
timevar_start (TV_TOTAL);
- /* Open assembler code output file. Do this even if -fsyntax-only is on,
+ /* Open assembly code output file. Do this even if -fsyntax-only is on,
because then the driver will have provided the name of a temporary
file or bit bucket for us. */
@@ -2324,17 +2325,12 @@ compile_file (name)
/* Call the parser, which parses the entire file
(calling rest_of_compilation for each function). */
+ yyparse ();
- if (yyparse () != 0)
- {
- if (errorcount == 0)
- fnotice (stderr, "Errors detected in input file (your bison.simple is out of date)\n");
-
- /* In case there were missing closebraces,
- get us back to the global binding level. */
- while (! global_bindings_p ())
- poplevel (0, 0, 0);
- }
+ /* In case there were missing block closers,
+ get us back to the global binding level. */
+ while (! global_bindings_p ())
+ poplevel (0, 0, 0);
/* Compilation is now finished except for writing
what's left of the symbol table output. */