Mercurial > hg > CbC > CbC_gcc
diff gcc/testsuite/g++.dg/cpp2a/paren-init2.C @ 145:1830386684a0
gcc-9.2.0
author | anatofuz |
---|---|
date | Thu, 13 Feb 2020 11:34:05 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gcc/testsuite/g++.dg/cpp2a/paren-init2.C Thu Feb 13 11:34:05 2020 +0900 @@ -0,0 +1,56 @@ +// PR c++/91363 - P0960R3: Parenthesized initialization of aggregates. +// { dg-do run { target c++2a } } + +struct A { + int i = 0; + int j = 0; +}; + +struct B { + A a; + constexpr B() : a(1.1, 2) { } +}; + +struct C { + int i; +}; + +struct E { + C c; + E() : c(1.2) { } +}; + +struct F { + char a[4]; +}; + +struct G { + F f; + G() : f("yew") { } +}; + +struct H { + int i; + int &&r; +}; + +int f() { return 42; } + +struct I { + H h; + I() : h(1, f()) { } +}; + +I i; // dangling ref to f(): + // {.i=1, .r=(int &) &TARGET_EXPR <D.2118, f ()>} + +int +main () +{ + B b; + if (b.a.i != 1 || b.a.j != 2) + __builtin_abort (); + E e; + if (e.c.i != 1) + __builtin_abort (); +}