aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite
diff options
context:
space:
mode:
authorGiovanni Bajo <giovannibajo@libero.it>2003-11-14 21:41:04 +0100
committerBernardo Innocenti <bernie@gcc.gnu.org>2003-11-14 21:41:04 +0100
commit8ffc2e370dfde7443cb3aa24d46359f5f9c60466 (patch)
tree73f66baa9b0ef1864cb092c0b831da40abaebccd /gcc/testsuite
parent584fb00b96cf6f2527330615fee9caf820cd136b (diff)
downloadgcc-8ffc2e370dfde7443cb3aa24d46359f5f9c60466.zip
gcc-8ffc2e370dfde7443cb3aa24d46359f5f9c60466.tar.gz
gcc-8ffc2e370dfde7443cb3aa24d46359f5f9c60466.tar.bz2
re PR c++/2294 (using declaration confusion)
PR c++/2294 * g++.dg/lookup/using9.c: New test. From-SVN: r73621
Diffstat (limited to 'gcc/testsuite')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.dg/lookup/using9.C30
2 files changed, 35 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 3e9f9fa..a8c2306 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2003-11-14 Giovanni Bajo <giovannibajo@libero.it>
+
+ PR c++/2294
+ * g++.dg/lookup/using9.c: New test.
+
2003-11-14 Mark Mitchell <mark@codesourcery.com>
PR c++/12762
diff --git a/gcc/testsuite/g++.dg/lookup/using9.C b/gcc/testsuite/g++.dg/lookup/using9.C
new file mode 100644
index 0000000..c622675
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/using9.C
@@ -0,0 +1,30 @@
+// { dg-do compile }
+// Origin: C++ Standard Draft (7.3.3/12)
+// PR c++/2294: using declarations should not conflict, but only cause
+// an ambiguous overload set to be created.
+
+namespace B {
+ void f(int); // { dg-error "note" }
+ void f(double); // { dg-error "note" }
+}
+
+namespace C {
+ void f(int); // { dg-error "note" }
+ void f(double); // { dg-error "note" }
+ void f(char); // { dg-error "note" }
+}
+
+void h()
+{
+ using B::f;
+ using C::f;
+ f('h');
+ f(1); // { dg-error "ambiguous" }
+ void f(int); // { dg-error "previous using declaration" }
+}
+
+void m()
+{
+ void f(int);
+ using B::f; // { dg-error "already declared" }
+}