mirror of
git://gcc.gnu.org/git/gcc.git
synced 2025-01-31 17:00:06 +08:00
x
From-SVN: r21351
This commit is contained in:
parent
7e7760939b
commit
a38fe5356d
gcc/testsuite/g++.old-deja
@ -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 *-*-*
|
|
10
gcc/testsuite/g++.old-deja/g++.pt/array1.C
Normal file
10
gcc/testsuite/g++.old-deja/g++.pt/array1.C
Normal file
@ -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);
|
||||||
|
}
|
6
gcc/testsuite/g++.old-deja/g++.pt/virtual1.C
Normal file
6
gcc/testsuite/g++.old-deja/g++.pt/virtual1.C
Normal file
@ -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; }
|
Loading…
Reference in New Issue
Block a user