aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorMark Mitchell <mark@markmitchell.com>1998-12-10 15:08:45 +0000
committerMark Mitchell <mmitchel@gcc.gnu.org>1998-12-10 15:08:45 +0000
commitea585788ba7c48bbeec2ed953224a06bb1ebe0ac (patch)
tree5fca743a2eb2948dee6bc32579670f5c8a40269e /gcc
parentcbf882afb3a22b691ae4097273a607c597bec901 (diff)
downloadgcc-ea585788ba7c48bbeec2ed953224a06bb1ebe0ac.zip
gcc-ea585788ba7c48bbeec2ed953224a06bb1ebe0ac.tar.gz
gcc-ea585788ba7c48bbeec2ed953224a06bb1ebe0ac.tar.bz2
decl.c (start_enum): Use push_obstacks, not end_temporary_allocation.
* decl.c (start_enum): Use push_obstacks, not end_temporary_allocation. (finish_enum): Call pop_obstacks. From-SVN: r24244
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog6
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/crash6.C19
2 files changed, 25 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 5348e3b..fa24fae 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,5 +1,11 @@
1998-12-10 Mark Mitchell <mark@markmitchell.com>
+ * decl.c (start_enum): Use push_obstacks, not
+ end_temporary_allocation.
+ (finish_enum): Call pop_obstacks.
+
+1998-12-10 Mark Mitchell <mark@markmitchell.com>
+
* class.c (instantiate_type): Return error_mark_node rather than
junk.
diff --git a/gcc/testsuite/g++.old-deja/g++.other/crash6.C b/gcc/testsuite/g++.old-deja/g++.other/crash6.C
new file mode 100644
index 0000000..498c983
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.other/crash6.C
@@ -0,0 +1,19 @@
+// Build don't link:
+// Special g++ Options: -O2
+
+struct E
+{
+ int f(int);
+};
+
+int ha()
+{
+ enum {X = 0};
+
+ int A, C;
+
+ E vList[10];
+
+ A = (C + 1) % 3;
+ vList[1].f(A);
+}