[Bug c++/105912] New: internal compiler error: in extract_call_expr, at cp/call.cc:7114

ldalessandro at gmail dot com gcc-bugzilla@gcc.gnu.org
Thu Jun 9 20:28:42 GMT 2022


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

            Bug ID: 105912
           Summary: internal compiler error: in extract_call_expr, at
                    cp/call.cc:7114
           Product: gcc
           Version: 12.1.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: ldalessandro at gmail dot com
  Target Milestone: ---

Created attachment 53113
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=53113&action=edit
output from -freport-bug

ICE in complex constexpr/consteval context. I think this code is invalid.
Debian testing gcc-12.1.
-

[ 83%] Building CXX object tests/CMakeFiles/expressions.dir/expressions.cpp.o
/home/ldalessa/open/ttl/tests/expressions.cpp: In instantiation of ‘constexpr
bool contraction(ttl::utils::type_args<I>) [with T = int]’:
/home/ldalessa/open/ttl/tests/expressions.cpp:589:24:   required from
‘constexpr bool tests(ttl::utils::type_args<I>) [with T = int]’
/home/ldalessa/open/ttl/tests/expressions.cpp:600:19:   required from here
/home/ldalessa/open/ttl/tests/expressions.cpp:149:13: internal compiler error:
in extract_call_expr, at cp/call.cc:7114
  149 |   T dot = a(~i) * a(i);
      |             ^~
0x65a180 extract_call_expr(tree_node*)
        ../../src/gcc/cp/call.cc:7114
0x80b0cb tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../src/gcc/cp/pt.cc:20971
0x819ea1 tsubst_copy_and_build_call_args
        ../../src/gcc/cp/pt.cc:19937
0x80ae60 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../src/gcc/cp/pt.cc:20687
0x80a6a7 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../src/gcc/cp/pt.cc:20322
0x81b618 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.cc:19491
0x822f79 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.cc:16770
0x822f79 tsubst_init
        ../../src/gcc/cp/pt.cc:16774
0x81dc83 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.cc:18643
0x81cb62 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.cc:18462
0x81cb62 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.cc:18476
0x81c158 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.cc:18462
0x81c158 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.cc:18833
0x81ab7c tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../src/gcc/cp/pt.cc:26412
0x81ab7c instantiate_body
        ../../src/gcc/cp/pt.cc:26412
0x81b439 instantiate_decl(tree_node*, bool, bool)
        ../../src/gcc/cp/pt.cc:26704
0x6d4962 cxx_eval_call_expression
        ../../src/gcc/cp/constexpr.cc:2664
0x6d6f68 cxx_eval_constant_expression
        ../../src/gcc/cp/constexpr.cc:6720
0x6d9011 cxx_eval_constant_expression
        ../../src/gcc/cp/constexpr.cc:6828
0x6d6ebe cxx_eval_constant_expression
        ../../src/gcc/cp/constexpr.cc:7044


More information about the Gcc-bugs mailing list