1f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman// RUN: %clang_cc1 -std=c++11 -fsyntax-only %s
2f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman// PR13197
3f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman
4f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedmanstruct type1
5f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman{
6f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  constexpr type1(int a0) : my_data{a0} {}
7f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  int my_data[1];
8f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman};
9f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman
10f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedmanstruct type2
11f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman{
12f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  typedef type1 T;
13f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  constexpr type2(T a00, T a01, T a02, T a03, T a04, T a05, T a06, T a07, T a08, T a09,
14f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman                       T a10, T a11, T a12, T a13, T a14, T a15, T a16, T a17, T a18, T a19,
15f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman                       T a20, T a21, T a22)
16f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman    : my_data{a00, a01, a02, a03, a04, a05, a06, a07, a08, a09,
17f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman              a10, a11, a12, a13, a14, a15, a16, a17, a18, a19,
18f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman              a20, a21, a22}
19f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  {}
20f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  type1 my_data[23];
21f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman};
22f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman
23f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedmanstruct type3
24f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman{
25f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  constexpr type3(type2 a0, type2 a1) : my_data{a0, a1} {}
26f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  type2 my_data[2];
27f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman};
28f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman
29f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedmanconstexpr type3 g
30f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman{
31f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  {
32f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman   {0},{0},{0},{0},{0},{0},{0},{0},{0},{0},
33f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman   {0},{0},{0},{0},{0},{0},{0},{0},{0},{0},
34f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman   {0},{0},{0}
35f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  },
36f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  {
37f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman   {0},{0},{0},{0},{0},{0},{0},{0},{0},{0},
38f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman   {0},{0},{0},{0},{0},{0},{0},{0},{0},{0},
39f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman   {0},{0},{0}
40f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman  }
41f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman};
42f6172aee547241427e6dabdd0bd6fcaf1c046689Eli Friedman
43