| // PR c++/80864 |
| // { dg-do compile { target c++11 } } |
| // { dg-options "-Wmissing-braces" } |
| |
| struct S { |
| char c[1]; |
| }; |
| |
| template <typename T> |
| void |
| fn () |
| { |
| constexpr S s1 = S{}; |
| constexpr S s2 = S{{}}; |
| constexpr S s3 = S{{{}}}; |
| constexpr S s4 = {}; |
| constexpr S s5 = {{}}; |
| constexpr S s6 = {{{}}}; |
| constexpr S s7{{}}; |
| constexpr S s8{S{}}; |
| constexpr S s9{S{{}}}; |
| constexpr S s10{S{{{}}}}; |
| constexpr S s11 = S(); |
| constexpr S s12 = S({}); |
| constexpr S s13 = S({{}}); |
| constexpr S s14 = {{}}; |
| constexpr S s15 = {{{}}}; |
| } |
| |
| void |
| foo () |
| { |
| fn<int>(); |
| } |