https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84606
Bug ID: 84606 Summary: internal compiler error: Segmentation fault (enclosing_instantiation_of()) Product: gcc Version: 8.0.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: vegard.nossum at gmail dot com Target Milestone: --- Input: template<typename> struct s { struct { void __attribute__((common([] { struct d }))) g(); } f; }; s<int> a {}; Output: $ xgcc -x c++ -std=c++14 -O3 -c - <stdin>: In lambda function: <stdin>:4:46: error: expected unqualified-id before '}' token <stdin>: In instantiation of 'struct s<int>::<unnamed>': <stdin>:5:5: required from 'struct s<int>' <stdin>:8:8: required from here <stdin>:4:33: internal compiler error: Segmentation fault 0x3138779 crash_signal /home/vegard/git/gcc/gcc/toplev.c:325 0x104b080 enclosing_instantiation_of /home/vegard/git/gcc/gcc/cp/pt.c:12691 0x117abb3 tsubst_function_decl /home/vegard/git/gcc/gcc/cp/pt.c:12245 0x11514e5 tsubst_decl /home/vegard/git/gcc/gcc/cp/pt.c:12729 0x11034de tsubst(tree_node*, tree_node*, int, tree_node*) /home/vegard/git/gcc/gcc/cp/pt.c:13624 0x1164e71 lookup_template_class_1 /home/vegard/git/gcc/gcc/cp/pt.c:8893 0x1174dce lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*, int, int) /home/vegard/git/gcc/gcc/cp/pt.c:9168 0x1174dce tsubst_aggr_type /home/vegard/git/gcc/gcc/cp/pt.c:12074 0x1104a1d tsubst(tree_node*, tree_node*, int, tree_node*) /home/vegard/git/gcc/gcc/cp/pt.c:13707 0x1155593 tsubst_decl /home/vegard/git/gcc/gcc/cp/pt.c:13003 0x11034de tsubst(tree_node*, tree_node*, int, tree_node*) /home/vegard/git/gcc/gcc/cp/pt.c:13624 0x10c53d1 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/vegard/git/gcc/gcc/cp/pt.c:16118 0x10ba0da tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/vegard/git/gcc/gcc/cp/pt.c:16322 0x10ba0da tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/vegard/git/gcc/gcc/cp/pt.c:16322 0x11d759b tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*) /home/vegard/git/gcc/gcc/cp/pt.c:17057 0x10f3373 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /home/vegard/git/gcc/gcc/cp/pt.c:18346 0x10f1376 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool) /home/vegard/git/gcc/gcc/cp/pt.c:18027 0x10bb79c tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool) /home/vegard/git/gcc/gcc/cp/pt.c:16838 0x116144f tsubst_attribute /home/vegard/git/gcc/gcc/cp/pt.c:10172 0x1171600 apply_late_template_attributes /home/vegard/git/gcc/gcc/cp/pt.c:10274 Version: xgcc (GCC) 8.0.1 20180204 (experimental) built from git fdae6180ad24fa6303fa046114f3e4b66b8db34d Version 7.3.0 don't seem to be affected AFAICS. Test case was reduced by C-Reduce.