aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJeffrey Oldham <oldham@codesourcery.com>2001-02-26 15:54:33 +0000
committerJeffrey D. Oldham <oldham@gcc.gnu.org>2001-02-26 15:54:33 +0000
commit2851a0e4674532d87356e9e4a28f453511110796 (patch)
tree77c931e3cfa2af270c1f622ccc70772c8703c3d9 /gcc
parent8cf8d8a27b3eb2b183511a3e2f449985a7aa320b (diff)
downloadgcc-2851a0e4674532d87356e9e4a28f453511110796.zip
gcc-2851a0e4674532d87356e9e4a28f453511110796.tar.gz
gcc-2851a0e4674532d87356e9e4a28f453511110796.tar.bz2
overload15.C: New test to stress overloaded templatized constructors.
2001-02-26 Jeffrey Oldham <oldham@codesourcery.com> * g++.old-deja/g++.pt/overload15.C: New test to stress overloaded templatized constructors. From-SVN: r40067
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/ChangeLog5
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/overload15.C25
2 files changed, 30 insertions, 0 deletions
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 0485463..b16a3f6 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2001-02-26 Jeffrey Oldham <oldham@codesourcery.com>
+
+ * g++.old-deja/g++.pt/overload15.C: New test to stress overloaded
+ templatized constructors.
+
2001-02-24 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
* gcc.c-torture/execute/20010224-1.c: New test.
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/overload15.C b/gcc/testsuite/g++.old-deja/g++.pt/overload15.C
new file mode 100644
index 0000000..defadad
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/overload15.C
@@ -0,0 +1,25 @@
+// Build don't link:
+// Test resolution of templatized overloaded constructors.
+// The more specialized constructor, i.e., A (const B<Dim1,Dim2> &b)
+// should be chosen per \S 14.5.5.2/2 [temp.func.order/2].
+
+template <int Dim1, int Dim2>
+struct B {
+ int f;
+};
+
+struct A {
+ template <int Dim1, int Dim2>
+ A (const B<Dim1,Dim2> &b) {}
+
+ template <typename T>
+ A (const T &b) {}
+};
+
+int
+main ()
+{
+ B<2,3> b;
+ A a (b);
+ return 0;
+}