https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119829
Bug ID: 119829
Summary: Internal Compiler Error with braced initialization and
designated initializers
Product: gcc
Version: 14.2.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: amir.ahmed.ansari at outlook dot com
Target Milestone: ---
Created attachment 61130
--> https://gcc.gnu.org/bugzilla/attachment.cgi?id=61130&action=edit
Code to reproduce bug
Using GCC 14.2.0 compiling the attached code with the options:
-std=c++23 -Wall -pedantic -Wextra -O3 -flto -freport-bug
Expected: Program compiles successfully or produces and error.
Actual: Internal compiler error. Following is the full output. Cannot attached
the preprocessed file because bug was generated from Compiler Explorer website.
<source>: In function 'int main()':
<source>:22:44: internal compiler error: in replace_placeholders_r, at
cp/tree.cc:3417
22 | const auto t = T{.s = {.i = 1, .f = .1}};
| ^
0x2031cbc internal_error(char const*, ...)
???:0
0x77895f fancy_abort(char const*, int, char const*)
???:0
0x120f862 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
???:0
0x120fa41 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
???:0
0x120fa41 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
???:0
0x120f862 walk_tree_1(tree_node**, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*,
tree_node* (*)(tree_node**, int*, tree_node* (*)(tree_node**, int*, void*),
void*, hash_set<tree_node*, false, default_hash_traits<tree_node*> >*))
???:0
0x97caba replace_placeholders(tree_node*, tree_node*, bool*)
???:0
0x9a721b store_init_value(tree_node*, tree_node*, vec<tree_node*, va_gc,
vl_embed>**, int)
???:0
0x8276ee cp_finish_decl(tree_node*, tree_node*, bool, tree_node*, int,
cp_decomp*)
???:0
0x90ee14 c_parse_file()
???:0
0xa0d1b9 c_common_parse_file()
???:0
Please submit a full bug report, with preprocessed source.
Please include the complete backtrace with any bug report.
See <https://gcc.gnu.org/bugs/> for instructions.
Preprocessed source stored into /tmp/cc10xvM9.out file, please attach this to
your bugreport.
Compiler returned: 1