This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug c++/67697] New: [concepts] ICE when using non-constexpr in requires expression


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.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]