aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/cp/cp-tree.h1
-rw-r--r--gcc/cp/parse.y2
-rw-r--r--gcc/cp/spew.c5
4 files changed, 11 insertions, 3 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 54db0bd..f4d2d20 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,9 @@
+2001-10-02 Jason Merrill <jason_merrill@redhat.com>
+
+ * spew.c (end_input): No longer static.
+ * cp-tree.h: Declare it.
+ * parse.y (datadef): Add "error END_OF_SAVED_INPUT" expansion.
+
2001-10-02 Joseph S. Myers <jsm28@cam.ac.uk>
* call.c (build_over_call), typeck.c (build_function_call_real):
diff --git a/gcc/cp/cp-tree.h b/gcc/cp/cp-tree.h
index de58ee4..b4fc016 100644
--- a/gcc/cp/cp-tree.h
+++ b/gcc/cp/cp-tree.h
@@ -4142,6 +4142,7 @@ extern void do_pending_defargs PARAMS ((void));
extern void done_pending_defargs PARAMS ((void));
extern void unprocessed_defarg_fn PARAMS ((tree));
extern void replace_defarg PARAMS ((tree, tree));
+extern void end_input PARAMS ((void));
/* in tree.c */
extern void init_tree PARAMS ((void));
diff --git a/gcc/cp/parse.y b/gcc/cp/parse.y
index 9801c38..a7651b5 100644
--- a/gcc/cp/parse.y
+++ b/gcc/cp/parse.y
@@ -736,6 +736,8 @@ datadef:
}
| error ';'
| error '}'
+ | error END_OF_SAVED_INPUT
+ { end_input (); }
| ';'
| bad_decl
;
diff --git a/gcc/cp/spew.c b/gcc/cp/spew.c
index 64cf48d..1456971 100644
--- a/gcc/cp/spew.c
+++ b/gcc/cp/spew.c
@@ -113,7 +113,6 @@ static SPEW_INLINE void consume_token PARAMS ((void));
static SPEW_INLINE int read_process_identifier PARAMS ((YYSTYPE *));
static SPEW_INLINE void feed_input PARAMS ((struct unparsed_text *));
-static SPEW_INLINE void end_input PARAMS ((void));
static SPEW_INLINE void snarf_block PARAMS ((const char *, int));
static tree snarf_defarg PARAMS ((void));
static int frob_id PARAMS ((int, int, tree *));
@@ -358,7 +357,7 @@ read_token (t)
return t->yychar;
}
-static SPEW_INLINE void
+static void
feed_input (input)
struct unparsed_text *input;
{
@@ -397,7 +396,7 @@ feed_input (input)
feed = f;
}
-static SPEW_INLINE void
+void
end_input ()
{
struct feed *f = feed;