aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZdenek Dvorak <rakdver@atrey.karlin.mff.cuni.cz>2004-01-21 08:41:49 +0100
committerZdenek Dvorak <rakdver@gcc.gnu.org>2004-01-21 07:41:49 +0000
commit4543ee4782fb327781cf1f42f07f60352e9e96c8 (patch)
tree573fa5bc388483116c17baf9d40e547ad998912f
parentc930d8a53c5f0e4e94381e871da2eaeb36f6c405 (diff)
downloadgcc-4543ee4782fb327781cf1f42f07f60352e9e96c8.zip
gcc-4543ee4782fb327781cf1f42f07f60352e9e96c8.tar.gz
gcc-4543ee4782fb327781cf1f42f07f60352e9e96c8.tar.bz2
* parser.c (cp_parser_class_specifier): Prevent garbage collection.
From-SVN: r76264
-rw-r--r--gcc/cp/ChangeLog4
-rw-r--r--gcc/cp/parser.c4
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--;
}
}