aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJason Merrill <jason@gcc.gnu.org>1998-07-23 14:05:41 -0400
committerJason Merrill <jason@gcc.gnu.org>1998-07-23 14:05:41 -0400
commita38fe5356df7d7b1a551a01e934139b5f14a07e4 (patch)
tree033284926c18b6c609f4060ecbfef45cd9bcce0d /gcc
parent7e7760939bf69c764707b32676784af383dacfd4 (diff)
downloadgcc-a38fe5356df7d7b1a551a01e934139b5f14a07e4.zip
gcc-a38fe5356df7d7b1a551a01e934139b5f14a07e4.tar.gz
gcc-a38fe5356df7d7b1a551a01e934139b5f14a07e4.tar.bz2
x
From-SVN: r21351
Diffstat (limited to 'gcc')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.other/partspec1.C23
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/array1.C10
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/virtual1.C6
3 files changed, 16 insertions, 23 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.other/partspec1.C b/gcc/testsuite/g++.old-deja/g++.other/partspec1.C
deleted file mode 100644
index 9948534..0000000
--- a/gcc/testsuite/g++.old-deja/g++.other/partspec1.C
+++ /dev/null
@@ -1,23 +0,0 @@
-// Build don't link:
-// Tests partial specialization
-template<class T> struct foo1 {};
-template<class T, int n> struct foo1<T[n]>;
-foo1<char> bar1;
-foo1<char[10]> baz1; // ERROR - incomplete type
-
-template<class T> struct foo2 {};
-template<class T, unsigned n> struct foo2<T[n]>;
-foo2<char> bar2;
-foo2<char[10]> baz2; // ERROR - incomplete type
-
-typedef unsigned int other1_t;
-template<class T> struct foo3 {};
-template<class T, other1_t n> struct foo3<T[n]>;
-foo3<char> bar3;
-foo3<char[10]> baz3; // ERROR - incomplete type - XFAIL *-*-*
-
-typedef int other2_t;
-template<class T> struct foo4 {};
-template<class T, other1_t n> struct foo4<T[n]>;
-foo4<char> bar4;
-foo4<char[10]> baz4; // ERROR - incomplete type - XFAIL *-*-*
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/array1.C b/gcc/testsuite/g++.old-deja/g++.pt/array1.C
new file mode 100644
index 0000000..436b4ef
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/array1.C
@@ -0,0 +1,10 @@
+template <class T, unsigned N>
+ unsigned size(T (&)[N]) { return N; }
+template <class T, unsigned N>
+ unsigned size(T const (&)[N]) { return N; }
+
+main() {
+ short iarray[] = { 1, 2, 3, 4, 5 };
+ const short carray[] = { 1, 2, 3, 4, 5 };
+ return size(iarray) - size(carray);
+}
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/virtual1.C b/gcc/testsuite/g++.old-deja/g++.pt/virtual1.C
new file mode 100644
index 0000000..efa97b7
--- /dev/null
+++ b/gcc/testsuite/g++.old-deja/g++.pt/virtual1.C
@@ -0,0 +1,6 @@
+ struct V { virtual ~V() {} };
+ template <class T> struct A : virtual V { };
+ template <class T> struct B {
+ virtual void f() { T foo; }
+ };
+ int main() { B< A<int> > bar; }