aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorVolker Reichelt <reichelt@igpm.rwth-aachen.de>2004-07-12 23:51:18 +0000
committerVolker Reichelt <reichelt@gcc.gnu.org>2004-07-12 23:51:18 +0000
commit812424036177ad5ed0d460195525494a1cfdcc17 (patch)
treea6e94b1f01e93d2819e72d7303dad14a3a348b08 /gcc
parent81f80f5feb49bd8bcc73e6de5edc096bf727d478 (diff)
downloadgcc-812424036177ad5ed0d460195525494a1cfdcc17.zip
gcc-812424036177ad5ed0d460195525494a1cfdcc17.tar.gz
gcc-812424036177ad5ed0d460195525494a1cfdcc17.tar.bz2
re PR c++/5402 (ICE in pop_binding)
PR c++/5402 * g++.dg/lookup/name-clash1.C: New test. PR c++/9777 * g++.dg/lookup/name-clash2.C: New test. PR c++/12102 * g++.dg/lookup/name-clash3.C: New test. From-SVN: r84587
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog11
-rw-r--r--gcc/testsuite/g++.dg/lookup/name-clash1.C20
-rw-r--r--gcc/testsuite/g++.dg/lookup/name-clash2.C16
-rw-r--r--gcc/testsuite/g++.dg/lookup/name-clash3.C14
4 files changed, 61 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 7abecb6..6b873b8 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,14 @@
+2004-07-12 Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+
+ PR c++/5402
+ * g++.dg/lookup/name-clash1.C: New test.
+
+ PR c++/9777
+ * g++.dg/lookup/name-clash2.C: New test.
+
+ PR c++/12102
+ * g++.dg/lookup/name-clash3.C: New test.
+
2004-07-12 Giovanni Bajo <giovannibajo@gcc.gnu.org>
* g++.dg/lookup/new2.C: New test.
diff --git a/gcc/testsuite/g++.dg/lookup/name-clash1.C b/gcc/testsuite/g++.dg/lookup/name-clash1.C
new file mode 100644
index 0000000..6ee4be3
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/name-clash1.C
@@ -0,0 +1,20 @@
+// { dg-do compile }
+
+// Origin: Jakub Jelinek <jakub@redhat.com>
+// PR c++/5402
+
+struct A
+{
+ struct B {};
+};
+
+struct C
+{
+ typedef int B;
+};
+
+struct D : A
+{
+ struct E : C {};
+ struct B {};
+};
diff --git a/gcc/testsuite/g++.dg/lookup/name-clash2.C b/gcc/testsuite/g++.dg/lookup/name-clash2.C
new file mode 100644
index 0000000..c200eee
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/name-clash2.C
@@ -0,0 +1,16 @@
+// { dg-do compile }
+
+// Origin: Sven Bilke <bilkes@mail.nih.gov>
+// PR c++/9777
+
+struct A
+{
+ struct X {};
+ struct Y { void X(); };
+};
+
+struct B : A
+{
+ struct Y : A::Y {};
+ struct X : A::X {};
+};
diff --git a/gcc/testsuite/g++.dg/lookup/name-clash3.C b/gcc/testsuite/g++.dg/lookup/name-clash3.C
new file mode 100644
index 0000000..eb52a7c
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/name-clash3.C
@@ -0,0 +1,14 @@
+// { dg-do compile }
+
+// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de>
+// PR c++/12102
+
+struct A
+{
+ struct C {} C;
+};
+
+struct B : A
+{
+ struct C {} C;
+};