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

            Bug ID: 104084
           Summary: [12 regression] Internal compiler error: tree check:
                    expected target_expr, have compound_expr in
                    build_new_1
           Product: gcc
           Version: 12.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: linux at carewolf dot com
  Target Milestone: ---

Another error encounted while compiling Qt with gcc 12. This time in libgav1
(used by Chromium).

../../../../../../qtwebengine/src/3rdparty/chromium/third_party/libgav1/src/src/utils/dynamic_buffer.h:40:19:
internal compiler error: tree check: expected target_expr, have compound_expr
in build_new_1, at cp/init.c:3792
   40 |     buffer_.reset(new (std::nothrow) T[size]);
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~
0x8a12eb tree_check_failed(tree_node const*, char const*, int, char const*,
...)
        ../../gcc/tree.c:8702
0x6f06b9 tree_operand_check_code(tree_node*, tree_code, int, char const*, int,
char const*)
        ../../gcc/tree.h:3950
0x6f06b9 build_new_1
        ../../gcc/cp/init.c:3792
0xa5c8f1 build_new(unsigned int, vec<tree_node*, va_gc, vl_embed>**,
tree_node*, tree_node*, vec<tree_node*, va_gc, vl_embed>**, int, int)
        ../../gcc/cp/init.c:4002
0xb4a6ad tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../gcc/cp/pt.c:20387
0xb750ca tsubst_copy_and_build_call_args
        ../../gcc/cp/pt.c:19761
0xb48c88 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool,
bool)
        ../../gcc/cp/pt.c:20508
0xb5d33f tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:19316
0xb5ed6b tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:18329
0xb5e484 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:18301
0xb5e4ec tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:18658
0xb5c048 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
        ../../gcc/cp/pt.c:18287
0xb5c048 instantiate_body
        ../../gcc/cp/pt.c:26239
0xb5d080 instantiate_decl(tree_node*, bool, bool)
        ../../gcc/cp/pt.c:26532
0xb813d3 instantiate_pending_templates(int)
        ../../gcc/cp/pt.c:26611
0xa3ba28 c_parse_final_cleanups()
        ../../gcc/cp/decl2.c:5097


Disabling optimizations or using different C++ standards, or fuzzing other
compiler flags didn't seem to help.

Let me know if you need the intermediate code.

Reply via email to