aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandre Oliva <aoliva@redhat.com>2004-01-15 14:46:01 +0000
committerAlexandre Oliva <aoliva@gcc.gnu.org>2004-01-15 14:46:01 +0000
commitd905ed80d575aef187b0cc5dcc16ddf298429eda (patch)
tree5e7cdf3eea708fd02b503846020b2b3e55ae10c3
parented5f054faa8f77cdf8e9df36e6f0c4ca1657ce1b (diff)
downloadgcc-d905ed80d575aef187b0cc5dcc16ddf298429eda.zip
gcc-d905ed80d575aef187b0cc5dcc16ddf298429eda.tar.gz
gcc-d905ed80d575aef187b0cc5dcc16ddf298429eda.tar.bz2
re PR c++/13659 (error: no matching function for call to)
PR c++/13659 * g++.dg/lookup/strong-using-3.C: New. * g++.dg/lookup/using-10.C: New. From-SVN: r75924
-rw-r--r--gcc/testsuite/ChangeLog6
-rw-r--r--gcc/testsuite/g++.dg/lookup/strong-using-3.C18
-rw-r--r--gcc/testsuite/g++.dg/lookup/using-10.C22
3 files changed, 46 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 1f1580c..6d7b3e0 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,5 +1,11 @@
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
* g++.dg/lookup/strong-using-2.C: New.
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
index 0000000..2ea538e
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/strong-using-3.C
@@ -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
index 0000000..1ca8a78
--- /dev/null
+++ b/gcc/testsuite/g++.dg/lookup/using-10.C
@@ -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);
+}