re PR c++/13659 (error: no matching function for call to)
authorAlexandre Oliva <aoliva@redhat.com>
Thu, 15 Jan 2004 14:46:01 +0000 (14:46 +0000)
committerAlexandre Oliva <aoliva@gcc.gnu.org>
Thu, 15 Jan 2004 14:46:01 +0000 (14:46 +0000)
PR c++/13659
* g++.dg/lookup/strong-using-3.C: New.
* g++.dg/lookup/using-10.C: New.

From-SVN: r75924

gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/lookup/strong-using-3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/lookup/using-10.C [new file with mode: 0644]

index 1f1580cbf4dcc375da8315a2bd4f28fc6c4bc60f..6d7b3e0976463c2cf7fbc29bcdd9a5fd5eb7b540 100644 (file)
@@ -1,3 +1,9 @@
+2004-01-15  Alexandre Oliva  <aoliva@redhat.com>
+
+       PR c++/13659
+       * g++.dg/lookup/strong-using-3.C: New.
+       * g++.dg/lookup/using-10.C: New.
+
 2004-01-15  Alexandre Oliva  <aoliva@redhat.com>
 
        PR c++/13594
diff --git a/gcc/testsuite/g++.dg/lookup/strong-using-3.C b/gcc/testsuite/g++.dg/lookup/strong-using-3.C
new file mode 100644 (file)
index 0000000..2ea538e
--- /dev/null
@@ -0,0 +1,18 @@
+// PR c++/13659
+
+// { dg-do compile }
+
+namespace foo {
+  template <class T> void f(T, T);
+}
+namespace bar {
+  using namespace foo __attribute__((strong));
+  template <class T> void f(T);
+}
+
+int main() {
+  // Make sure both declarations are brought in.
+  using bar::f;
+  f(1);
+  f(1, 1);
+}
diff --git a/gcc/testsuite/g++.dg/lookup/using-10.C b/gcc/testsuite/g++.dg/lookup/using-10.C
new file mode 100644 (file)
index 0000000..1ca8a78
--- /dev/null
@@ -0,0 +1,22 @@
+// PR c++/13659
+
+// { dg-do compile }
+
+namespace foo1 {
+  template <class T> void f(T);
+}
+namespace foo2 {
+  template <class T> void f(T, T);
+}
+namespace foo {
+  using namespace foo1;
+  using namespace foo2;
+}
+
+// Make sure we bring in both declarations.
+using foo::f;
+
+int main() {
+  f(1);
+  f(1, 1);
+}