https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99897
Bug ID: 99897
Summary: ICE Segmentation fault when operator appear in
template parameter-list
Product: gcc
Version: 11.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: c++
Assignee: unassigned at gcc dot gnu.org
Reporter: hewillk at gmail dot com
Target Milestone: ---
https://godbolt.org/z/fjx8cG995
template <int> struct A {};
template <A a> struct S { void foo(S<+a>); };
<source>:2:40: internal compiler error: Segmentation fault
2 | template <A a> struct S { void foo(S<+a>); };
| ^
0x1cfd119 internal_error(char const*, ...)
???:0
0x6c4475 resolve_args(vec<tree_node*, va_gc, vl_embed>*, int)
???:0
0x9093b1 do_auto_deduction(tree_node*, tree_node*, tree_node*, int,
auto_deduction_context, tree_node*, int)
???:0
0x929803 lookup_template_class(tree_node*, tree_node*, tree_node*, tree_node*,
int, int)
???:0
0x97ff1d finish_template_type(tree_node*, tree_node*, int)
???:0
0x8e140d c_parse_file()
???:0
0xa606f2 c_common_parse_file()
???:0
Please submit a full bug report,
with preprocessed source if appropriate.