https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67697
Bug ID: 67697 Summary: [concepts] ICE when using non-constexpr in requires expression Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: ryan.burn at gmail dot com Target Milestone: --- The following code causes an ICE: ////////////////////////////////// template<class X> concept bool C() { return requires(X x, bool b) { requires b; x++; }; } int main() { C<int>(); return 0; } ////////////////////////////////// Stack Trace: t1.cpp: In function ‘int main()’: t1.cpp:10:10: internal compiler error: in xform_decl, at cp/constraint.cc:797 C<int>(); ^ 0x82016d xform_decl ../../gcc/gcc/cp/constraint.cc:797 0x82016d transform_expression ../../gcc/gcc/cp/constraint.cc:827 0x8202f0 xform_nested_requirement ../../gcc/gcc/cp/constraint.cc:632 0x8202f0 xform_requirement ../../gcc/gcc/cp/constraint.cc:652 0x8202f0 xform_requirements ../../gcc/gcc/cp/constraint.cc:669 0x8202f0 xform_requires_expr ../../gcc/gcc/cp/constraint.cc:680 0x8202f0 xform_expr ../../gcc/gcc/cp/constraint.cc:758 0x8202f0 transform_expression ../../gcc/gcc/cp/constraint.cc:821 0x8252d7 evaluate_function_concept(tree_node*, tree_node*) ../../gcc/gcc/cp/constraint.cc:2002 0x605b94 build_new_function_call(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool, int) ../../gcc/gcc/cp/call.c:4130 0x78ff5e finish_call_expr(tree_node*, vec<tree_node*, va_gc, vl_embed>**, bool, bool, int) ../../gcc/gcc/cp/semantics.c:2391 0x70ecc9 cp_parser_postfix_expression ../../gcc/gcc/cp/parser.c:6419 0x713679 cp_parser_unary_expression ../../gcc/gcc/cp/parser.c:7486 0x7142b7 cp_parser_binary_expression ../../gcc/gcc/cp/parser.c:8239 0x7149bf cp_parser_assignment_expression ../../gcc/gcc/cp/parser.c:8497 0x71d131 cp_parser_expression ../../gcc/gcc/cp/parser.c:8651 0x71ecd6 cp_parser_expression_statement ../../gcc/gcc/cp/parser.c:10065 0x72a125 cp_parser_statement ../../gcc/gcc/cp/parser.c:9916 0x72ace2 cp_parser_statement_seq_opt ../../gcc/gcc/cp/parser.c:10188 0x72ae4b cp_parser_compound_statement ../../gcc/gcc/cp/parser.c:10142 Please submit a full bug report, with preprocessed source if appropriate. Please include the complete backtrace with any bug report. See <http://gcc.gnu.org/bugs.html> for instructions.