diff options
-rw-r--r-- | gcc/testsuite/ChangeLog | 11 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/lookup/name-clash1.C | 20 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/lookup/name-clash2.C | 16 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/lookup/name-clash3.C | 14 |
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; +}; |