diff options
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C')
-rw-r--r-- | gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C b/gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C new file mode 100644 index 000000000..9b47d441e --- /dev/null +++ b/gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C @@ -0,0 +1,36 @@ +// { dg-do run } +struct S +{ + template <class T> + void f(T (&i)[7]) + {} + + void g() + { + int i[] = {1, 2, 3, 4, 5, 6, 7}; + f(i); + int j[7]; + f(j); + } +}; + +struct foo { + template <typename T, int N> + static T* array_end(T(&array)[N]) { return &array[N]; } +}; + +struct X +{ + template <class T1> + void f(const T1&) {} +}; + +int main(int ac, char* av[]) { + S s; + s.g(); + int i[] = {1,2,3,4,5}; + int* e = foo::array_end(i); + X x; + x.f("hello"); +} + |