diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 54db0bdd9e3956c1358bfddf60500df092811923..f4d2d20e9d078fda93d9fdbae64ef70ec413ede3 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 de58ee4b890f81711e5fdf89bebae8022ae75c6c..b4fc016f46cf8aa1822cf4df5dad4d7265c6ec04 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 9801c3817fa7963a2972df961ae6ad482412deae..a7651b57468b23e594e70c50986698abed7128a0 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 64cf48dd1607e4937ac30520d7e539d30af08b63..14569718a997e2fcfa9ba69a918e02135eb894f1 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;