summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C')
-rw-r--r--gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C36
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");
+}
+