Here, we were going down the wrong path in perform_member_init because of the incorrect parens around the mem-initializer for the array. And then cxx_eval_vec_init_1 didn't know what to do with a CONSTRUCTOR as the initializer. The latter issue was a straightforward fix, but I also wanted to fix us silently accepting the parens, which led to factoring out handling of TREE_LIST and flexarrays. The latter led to adjusting the expected behavior on flexary29.C: we should complain about the initializer, but not complain about a missing initializer. As I commented on PR 92812, in this process I noticed that we weren't handling C++20 parenthesized aggregate initialization as a mem-initializer. So my TREE_LIST handling includes a commented out section that should probably be part of a future fix for that issue; with it uncommented we continue to crash on the testcase in C++20 mode, but should instead complain about the braced-init-list not being a valid initializer for an A. PR c++/86917 * init.c (perform_member_init): Simplify. * constexpr.c (cx_check_missing_mem_inits): Allow uninitialized flexarray. (cxx_eval_vec_init_1): Handle CONSTRUCTOR.
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
addr-const1.C | Loading commit data... | |
aggr1.C | Loading commit data... | |
aggr10.C | Loading commit data... | |
aggr11.C | Loading commit data... | |
aggr12.C | Loading commit data... | |
aggr13.C | Loading commit data... | |
aggr2.C | Loading commit data... | |
aggr3.C | Loading commit data... | |
aggr4.C | Loading commit data... | |
aggr5.C | Loading commit data... | |
aggr6.C | Loading commit data... | |
aggr7.C | Loading commit data... | |
aggr8.C | Loading commit data... | |
aggr9.C | Loading commit data... | |
array0.C | Loading commit data... | |
array1.C | Loading commit data... | |
array10.C | Loading commit data... | |
array11.C | Loading commit data... | |
array12.C | Loading commit data... | |
array13.C | Loading commit data... | |
array14.C | Loading commit data... | |
array15.C | Loading commit data... | |
array16.C | Loading commit data... | |
array17.C | Loading commit data... | |
array18.C | Loading commit data... | |
array19.C | Loading commit data... | |
array2.C | Loading commit data... | |
array20.C | Loading commit data... | |
array21.C | Loading commit data... | |
array22.C | Loading commit data... | |
array23.C | Loading commit data... | |
array24.C | Loading commit data... | |
array25.C | Loading commit data... | |
array26.C | Loading commit data... | |
array27.C | Loading commit data... | |
array28.C | Loading commit data... | |
array3.C | Loading commit data... | |
array30.C | Loading commit data... | |
array31.C | Loading commit data... | |
array32.C | Loading commit data... | |
array33.C | Loading commit data... | |
array34.C | Loading commit data... | |
array35.C | Loading commit data... | |
array36.C | Loading commit data... | |
array37.C | Loading commit data... | |
array38.C | Loading commit data... | |
array39.C | Loading commit data... | |
array4.C | Loading commit data... | |
array40.C | Loading commit data... | |
array41.C | Loading commit data... | |
array42.C | Loading commit data... | |
array43.C | Loading commit data... | |
array44.C | Loading commit data... | |
array45.C | Loading commit data... | |
array46.C | Loading commit data... | |
array47.C | Loading commit data... | |
array48.C | Loading commit data... | |
array49.C | Loading commit data... | |
array5.C | Loading commit data... | |
array50.C | Loading commit data... | |
array51.C | Loading commit data... | |
array52.C | Loading commit data... | |
array53.C | Loading commit data... | |
array54.C | Loading commit data... | |
array6.C | Loading commit data... | |
array7.C | Loading commit data... | |
array8.C | Loading commit data... | |
array9.C | Loading commit data... | |
assign1.C | Loading commit data... | |
attrib1.C | Loading commit data... | |
base1.C | Loading commit data... | |
bitfield1.C | Loading commit data... | |
bitfield2.C | Loading commit data... | |
bitfield3.C | Loading commit data... | |
bitfield4.C | Loading commit data... | |
bitfield5.C | Loading commit data... | |
brace1.C | Loading commit data... | |
brace2.C | Loading commit data... | |
brace3.C | Loading commit data... | |
brace4.C | Loading commit data... | |
brace5.C | Loading commit data... | |
brace6.C | Loading commit data... | |
byval1.C | Loading commit data... | |
call1.C | Loading commit data... | |
cleanup1.C | Loading commit data... | |
cleanup2.C | Loading commit data... | |
cleanup3.C | Loading commit data... | |
cleanup4.C | Loading commit data... | |
complex1.C | Loading commit data... | |
const1.C | Loading commit data... | |
const10.C | Loading commit data... | |
const11.C | Loading commit data... | |
const12.C | Loading commit data... | |
const13.C | Loading commit data... | |
const2.C | Loading commit data... | |
const3.C | Loading commit data... | |
const4.C | Loading commit data... | |
const5.C | Loading commit data... | |
const6.C | Loading commit data... | |
const7.C | Loading commit data... | |
const8.C | Loading commit data... | |
const9.C | Loading commit data... | |
constant1.C | Loading commit data... | |
copy1.C | Loading commit data... | |
copy2.C | Loading commit data... | |
copy3.C | Loading commit data... | |
copy4.C | Loading commit data... | |
copy5.C | Loading commit data... | |
copy6.C | Loading commit data... | |
copy7.C | Loading commit data... | |
ctor1.C | Loading commit data... | |
ctor10.C | Loading commit data... | |
ctor11.C | Loading commit data... | |
ctor12.C | Loading commit data... | |
ctor2.C | Loading commit data... | |
ctor3.C | Loading commit data... | |
ctor4-1.C | Loading commit data... | |
ctor4.C | Loading commit data... | |
ctor5.C | Loading commit data... | |
ctor6.C | Loading commit data... | |
ctor7.C | Loading commit data... | |
ctor8.C | Loading commit data... | |
ctor9.C | Loading commit data... | |
delete1.C | Loading commit data... | |
delete2.C | Loading commit data... | |
delete3.C | Loading commit data... | |
dso_handle1.C | Loading commit data... | |
dso_handle2.C | Loading commit data... | |
dtor1.C | Loading commit data... | |
dtor2.C | Loading commit data... | |
dtor3.C | Loading commit data... | |
dtor4.C | Loading commit data... | |
elide1.C | Loading commit data... | |
elide2.C | Loading commit data... | |
elide3.C | Loading commit data... | |
elide4.C | Loading commit data... | |
elide5.C | Loading commit data... | |
elide6.C | Loading commit data... | |
empty1.C | Loading commit data... | |
empty2.C | Loading commit data... | |
enum1.C | Loading commit data... | |
enum2.C | Loading commit data... | |
error1.C | Loading commit data... | |
error2.C | Loading commit data... | |
explicit1.C | Loading commit data... | |
explicit2.C | Loading commit data... | |
explicit3.C | Loading commit data... | |
explicit4.C | Loading commit data... | |
float1.C | Loading commit data... | |
for1.C | Loading commit data... | |
for2.C | Loading commit data... | |
for3.C | Loading commit data... | |
global1.C | Loading commit data... | |
goto1.C | Loading commit data... | |
goto2.C | Loading commit data... | |
goto3.C | Loading commit data... | |
init-ref1.C | Loading commit data... | |
init-ref2.C | Loading commit data... | |
init-ref3.C | Loading commit data... | |
init-ref4.C | Loading commit data... | |
initializer-string-too-long.C | Loading commit data... | |
inline1.C | Loading commit data... | |
lifetime1.C | Loading commit data... | |
lifetime2.C | Loading commit data... | |
lifetime3.C | Loading commit data... | |
member1.C | Loading commit data... | |
mutable1.C | Loading commit data... | |
new1.C | Loading commit data... | |
new10.C | Loading commit data... | |
new11.C | Loading commit data... | |
new12.C | Loading commit data... | |
new13.C | Loading commit data... | |
new14.C | Loading commit data... | |
new15.C | Loading commit data... | |
new16.C | Loading commit data... | |
new17.C | Loading commit data... | |
new18.C | Loading commit data... | |
new19.C | Loading commit data... | |
new2.C | Loading commit data... | |
new20.C | Loading commit data... | |
new21.C | Loading commit data... | |
new22.C | Loading commit data... | |
new23.C | Loading commit data... | |
new24.C | Loading commit data... | |
new25.C | Loading commit data... | |
new26.C | Loading commit data... | |
new27.C | Loading commit data... | |
new28.C | Loading commit data... | |
new29.C | Loading commit data... | |
new3.C | Loading commit data... | |
new30.C | Loading commit data... | |
new31.C | Loading commit data... | |
new32.C | Loading commit data... | |
new33.C | Loading commit data... | |
new34.C | Loading commit data... | |
new35.C | Loading commit data... | |
new36.C | Loading commit data... | |
new37.C | Loading commit data... | |
new38.C | Loading commit data... | |
new39.C | Loading commit data... | |
new4.C | Loading commit data... | |
new40.C | Loading commit data... | |
new41.C | Loading commit data... | |
new42.C | Loading commit data... | |
new43.C | Loading commit data... | |
new44.C | Loading commit data... | |
new45.C | Loading commit data... | |
new46.C | Loading commit data... | |
new47.C | Loading commit data... | |
new48.C | Loading commit data... | |
new49.C | Loading commit data... | |
new5.C | Loading commit data... | |
new6.C | Loading commit data... | |
new7.C | Loading commit data... | |
new8.C | Loading commit data... | |
new9.C | Loading commit data... | |
no-elide1.C | Loading commit data... | |
null1.C | Loading commit data... | |
placement1.C | Loading commit data... | |
placement2.C | Loading commit data... | |
placement3.C | Loading commit data... | |
placement4.C | Loading commit data... | |
placement5.C | Loading commit data... | |
pm1.C | Loading commit data... | |
pm2.C | Loading commit data... | |
pm3.C | Loading commit data... | |
pmf1.C | Loading commit data... | |
pr20039.C | Loading commit data... | |
pr25811-3.C | Loading commit data... | |
pr25811-4.C | Loading commit data... | |
pr25811.C | Loading commit data... | |
pr29043.C | Loading commit data... | |
pr29571.C | Loading commit data... | |
pr35878_1.C | Loading commit data... | |
pr35878_2.C | Loading commit data... | |
pr35878_3.C | Loading commit data... | |
pr35878_4.C | Loading commit data... | |
pr42556.C | Loading commit data... | |
pr42844.C | Loading commit data... | |
pr43064-1.C | Loading commit data... | |
pr43064-2.C | Loading commit data... | |
pr43064-3.C | Loading commit data... | |
pr43453.C | Loading commit data... | |
pr43719.C | Loading commit data... | |
pr43890.C | Loading commit data... | |
pr44086.C | Loading commit data... | |
pr48859.C | Loading commit data... | |
pr55497.C | Loading commit data... | |
pr58811.C | Loading commit data... | |
pr60572.C | Loading commit data... | |
pr64527.C | Loading commit data... | |
pr66857.C | Loading commit data... | |
pr69658.C | Loading commit data... | |
pr70501.C | Loading commit data... | |
pr71516.C | Loading commit data... | |
pr83993-1.C | Loading commit data... | |
pr83993-2.C | Loading commit data... | |
pr88375-2.C | Loading commit data... | |
pr88375.C | Loading commit data... | |
ptrfn1.C | Loading commit data... | |
ptrfn2.C | Loading commit data... | |
ptrfn3.C | Loading commit data... | |
ptrfn4.C | Loading commit data... | |
ptrmem1.C | Loading commit data... | |
ptrmem2.C | Loading commit data... | |
ptrmem3.C | Loading commit data... | |
ptrmem4.C | Loading commit data... | |
ref1.C | Loading commit data... | |
ref10.C | Loading commit data... | |
ref11.C | Loading commit data... | |
ref12.C | Loading commit data... | |
ref13.C | Loading commit data... | |
ref14.C | Loading commit data... | |
ref15.C | Loading commit data... | |
ref16.C | Loading commit data... | |
ref17.C | Loading commit data... | |
ref18.C | Loading commit data... | |
ref19.C | Loading commit data... | |
ref2.C | Loading commit data... | |
ref20.C | Loading commit data... | |
ref21.C | Loading commit data... | |
ref22.C | Loading commit data... | |
ref23.C | Loading commit data... | |
ref3.C | Loading commit data... | |
ref4.C | Loading commit data... | |
ref5.C | Loading commit data... | |
ref6.C | Loading commit data... | |
ref7.C | Loading commit data... | |
ref8.C | Loading commit data... | |
ref9.C | Loading commit data... | |
reference1.C | Loading commit data... | |
reference2.C | Loading commit data... | |
reference3.C | Loading commit data... | |
save1.C | Loading commit data... | |
self1.C | Loading commit data... | |
static-init1.C | Loading commit data... | |
static-init2.C | Loading commit data... | |
static-init3.C | Loading commit data... | |
static1.C | Loading commit data... | |
static2.C | Loading commit data... | |
static3.C | Loading commit data... | |
static4.C | Loading commit data... | |
static5.C | Loading commit data... | |
string1.C | Loading commit data... | |
string2.C | Loading commit data... | |
string3.C | Loading commit data... | |
string4.C | Loading commit data... | |
strlen.C | Loading commit data... | |
struct1.C | Loading commit data... | |
struct2.C | Loading commit data... | |
struct3.C | Loading commit data... | |
switch1.C | Loading commit data... | |
synth1.C | Loading commit data... | |
synth2.C | Loading commit data... | |
synth3.C | Loading commit data... | |
synth4.C | Loading commit data... | |
uninitialized1.C | Loading commit data... | |
union1.C | Loading commit data... | |
union2.C | Loading commit data... | |
value1.C | Loading commit data... | |
value10.C | Loading commit data... | |
value2.C | Loading commit data... | |
value3.C | Loading commit data... | |
value4.C | Loading commit data... | |
value5.C | Loading commit data... | |
value6.C | Loading commit data... | |
value7.C | Loading commit data... | |
value8.C | Loading commit data... | |
value9.C | Loading commit data... | |
vbase1.C | Loading commit data... | |
vbase2.C | Loading commit data... | |
vector1.C | Loading commit data... | |
void1.C | Loading commit data... | |
volatile1.C | Loading commit data... | |
volatile2.C | Loading commit data... |