diff options
| -rw-r--r-- | gcc/cp/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/cp/parser.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index bfae507..2587cf3 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +2004-01-21 Zdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz> + + * parser.c (cp_parser_class_specifier): Prevent garbage collection. + 2004-01-20 Kelley Cook <kcook@gcc.gnu.org> * Make-lang.in: Replace $(docdir) with doc. diff --git a/gcc/cp/parser.c b/gcc/cp/parser.c index 284afc6..4fde7b6 100644 --- a/gcc/cp/parser.c +++ b/gcc/cp/parser.c @@ -11699,8 +11699,12 @@ cp_parser_class_specifier (cp_parser* parser) /* Figure out which function we need to process. */ fn = TREE_VALUE (queue_entry); + /* A hack to prevent garbage collection. */ + function_depth++; + /* Parse the function. */ cp_parser_late_parsing_for_member (parser, fn); + function_depth--; } } |
