https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79655

            Bug ID: 79655
           Summary: [5/6/7 Regression] ICE on invalid c++ code in
                    cxx_eval_store_expression in cp/constexpr.c:3464
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Keywords: ice-on-invalid-code
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: marxin at gcc dot gnu.org
  Target Milestone: ---

Created attachment 40793
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=40793&action=edit
test-case

An invalid code adopted from clang:

$ g++
/home/marxin/BIG/Programming/llvm-project/clang/test/SemaCXX/constant-expression-cxx1y.cpp
-std=c++14

...

/home/marxin/BIG/Programming/llvm-project/clang/test/SemaCXX/constant-expression-cxx1y.cpp:200:36:
internal compiler error: in cxx_eval_store_expression, at cp/constexpr.c:3464
   static_assert(do_stuff(-1, 0) == 1, ""); // expected-error {{constant
expression}} expected-note {{in call}}
                                    ^
0xb156c4 cxx_eval_store_expression
        ../../gcc/cp/constexpr.c:3464
0xb17e4b cxx_eval_constant_expression
        ../../gcc/cp/constexpr.c:4049
0xb18b65 cxx_eval_constant_expression
        ../../gcc/cp/constexpr.c:4341
0xb180b1 cxx_eval_constant_expression
        ../../gcc/cp/constexpr.c:4088
0xb180b1 cxx_eval_constant_expression
        ../../gcc/cp/constexpr.c:4088
0xb167f9 cxx_eval_statement_list
        ../../gcc/cp/constexpr.c:3738
0xb1959b cxx_eval_constant_expression
        ../../gcc/cp/constexpr.c:4432
0xb1961a cxx_eval_constant_expression
        ../../gcc/cp/constexpr.c:4438
0xb0d9c9 cxx_eval_call_expression
        ../../gcc/cp/constexpr.c:1643
0xb17646 cxx_eval_constant_expression
        ../../gcc/cp/constexpr.c:3971
0xb1a013 cxx_eval_outermost_constant_expr
        ../../gcc/cp/constexpr.c:4613
0xb1abb7 maybe_constant_value(tree_node*, tree_node*)
        ../../gcc/cp/constexpr.c:4828
0xaf13c9 cp_fully_fold(tree_node*)
        ../../gcc/cp/cp-gimplify.c:1963
0x9ffa99 cp_build_binary_op(unsigned int, tree_code, tree_node*, tree_node*,
int)
        ../../gcc/cp/typeck.c:5243
0x823061 build_new_op_1
        ../../gcc/cp/call.c:5982
0x823156 build_new_op(unsigned int, tree_code, int, tree_node*, tree_node*,
tree_node*, tree_node**, int)
        ../../gcc/cp/call.c:6027
0x9fb075 build_x_binary_op(unsigned int, tree_code, tree_node*, tree_code,
tree_node*, tree_code, tree_node**, int)
        ../../gcc/cp/typeck.c:3930
0x994d9c cp_parser_binary_expression
        ../../gcc/cp/parser.c:9060
0x9951ee cp_parser_assignment_expression
        ../../gcc/cp/parser.c:9190
0x995949 cp_parser_constant_expression
        ../../gcc/cp/parser.c:9460

Started with r217663.

Reply via email to