summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.old-deja/g++.pt/memtemp69.C
blob: 9b47d441ed73f84efc38ae3d0c3cc0daaa6eea28 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
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");
}