summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/cpp0x/constexpr-non-const-arg3.C
blob: 581be6d15ce86e0615b5543650396fcacbd1faad (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
// PR c++/49988
// { dg-options -std=c++0x }
// { dg-do run }

template<int ... I> struct X { };

struct A {
  char data[3];
  template<int ... I>
    constexpr
    A(const char (&s)[3], X<I...> x) : data{ s[I]...} { }
};
struct B {
  A a;
  B(const char (&s)[3]) : a{s,X<0,1,2>{}} { }
};

int main()
{
  B b{"12"};
  if (b.a.data[0] != '1')
    return 1;
}