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

            Bug ID: 112269
           Summary: [14 Regression] x86_64 GNU/Linux '-m32' multilib
                    'libstdc++-v3/include/complex:1493: internal compiler
                    error: in tsubst_expr, at cp/pt.cc:21534'
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code, testsuite-fail
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: tschwinge at gcc dot gnu.org
  Target Milestone: ---

(Assuming my tacking is to be believed) something in Git commit
r14-4720-gaf4bb221153359f5948da917d5ef2df738bb1e61..r14-4986-g4d3d2cdb574488223d023b590c3a34ddd93f4dae
ICE-regresses a few x86_64 GNU/Linux '-m32' multilib test cases:

    [-PASS:-]{+FAIL:+} 24_iterators/reverse_iterator/100639.cc  -std=c++20
(test for excess errors)
    [-PASS:-]{+FAIL:+} 24_iterators/reverse_iterator/100639.cc  -std=c++26
(test for excess errors)

    In file included from
[...]/build-gcc/x86_64-pc-linux-gnu/32/libstdc++-v3/include/ccomplex:39,
                     from
[...]/build-gcc/x86_64-pc-linux-gnu/32/libstdc++-v3/include/x86_64-pc-linux-gnu/bits/stdc++.h:127,
                     from <command-line>:
    [...]/build-gcc/x86_64-pc-linux-gnu/32/libstdc++-v3/include/complex: In
member function 'constexpr std::complex<float>&
std::complex<float>::operator/=(const std::complex<_Tp>&)':
    [...]/build-gcc/x86_64-pc-linux-gnu/32/libstdc++-v3/include/complex:1493:
internal compiler error: in tsubst_expr, at cp/pt.cc:21534
    0x784e58 tsubst_expr(tree_node*, tree_node*, int, tree_node*)
            [...]/source-gcc/gcc/cp/pt.cc:21534
    0xf03edb fold_non_dependent_expr_template
            [...]/source-gcc/gcc/cp/constexpr.cc:9030
    0xfa17ed fold_for_warn(tree_node*)
            [...]/source-gcc/gcc/cp/expr.cc:412
    0x1144377 cp_build_binary_op(op_location_t const&, tree_code, tree_node*,
tree_node*, int)
            [...]/source-gcc/gcc/cp/typeck.cc:5436
    0x11525b3 cp_build_modify_expr(unsigned int, tree_node*, tree_code,
tree_node*, int)
            [...]/source-gcc/gcc/cp/typeck.cc:9522
    0xec5c4d build_new_op(op_location_t const&, tree_code, int, tree_node*,
tree_node*, tree_node*, tree_node*, tree_node**, int)
            [...]/source-gcc/gcc/cp/call.cc:7312
    0x11536a5 build_x_modify_expr(unsigned int, tree_node*, tree_code,
tree_node*, tree_node*, int)
            [...]/source-gcc/gcc/cp/typeck.cc:9728
    0x103f464 cp_parser_assignment_expression
            [...]/source-gcc/gcc/cp/parser.cc:10611
    0x103f6b4 cp_parser_expression
            [...]/source-gcc/gcc/cp/parser.cc:10740
    0x10441c7 cp_parser_expression_statement
            [...]/source-gcc/gcc/cp/parser.cc:12939
    0x10504ea cp_parser_statement
            [...]/source-gcc/gcc/cp/parser.cc:12719
    0x10517f7 cp_parser_statement_seq_opt
            [...]/source-gcc/gcc/cp/parser.cc:13188
    0x1051a27 cp_parser_compound_statement
            [...]/source-gcc/gcc/cp/parser.cc:13042
    0x1073d95 cp_parser_function_body
            [...]/source-gcc/gcc/cp/parser.cc:25560
    0x1073d95 cp_parser_ctor_initializer_opt_and_function_body
            [...]/source-gcc/gcc/cp/parser.cc:25611
    0x107a1ae cp_parser_function_definition_after_declarator
            [...]/source-gcc/gcc/cp/parser.cc:32273
    0x107a634 cp_parser_late_parsing_for_member
            [...]/source-gcc/gcc/cp/parser.cc:33241
    0x104c3e4 cp_parser_class_specifier
            [...]/source-gcc/gcc/cp/parser.cc:26761
    0x104c3e4 cp_parser_type_specifier
            [...]/source-gcc/gcc/cp/parser.cc:19725
    0x104cb6b cp_parser_decl_specifier_seq
            [...]/source-gcc/gcc/cp/parser.cc:16283

Similarly:

    [-PASS:-]{+FAIL:+} std/ranges/iota/93267.cc  -std=c++20 (test for excess
errors)
    [-PASS:-]{+FAIL:+} std/ranges/iota/93267.cc  -std=c++26 (test for excess
errors)

    [-PASS:-]{+FAIL:+} std/ranges/iota/96042.cc  -std=c++20 (test for excess
errors)
    [-PASS:-]{+FAIL:+} std/ranges/iota/96042.cc  -std=c++26 (test for excess
errors)

    [-PASS:-]{+FAIL:+} std/ranges/iota/size.cc  -std=c++20 (test for excess
errors)
    [-PASS:-]{+FAIL:+} std/ranges/iota/size.cc  -std=c++26 (test for excess
errors)

    [-PASS:-]{+FAIL:+} std/ranges/subrange/96042.cc  -std=c++20 (test for
excess errors)
    [-PASS:-]{+FAIL:+} std/ranges/subrange/96042.cc  -std=c++26 (test for
excess errors)

Reply via email to