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

            Bug ID: 111920
           Summary: [14 Regression] encode-{8,9,10}.mm internal compiler
                    error: in tsubst_expr, at cp/pt.cc:21533
           Product: gcc
           Version: 14.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: objc++
          Assignee: unassigned at gcc dot gnu.org
          Reporter: iains at gcc dot gnu.org
  Target Milestone: ---

This affects both GNU and NeXT runtimes

for example, encode-10.mm:

p debug_tree(t)
 <template_type_parm 0x11785a2a0 T type_0 type_6 VOID
    align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x11785a2a0
    tpi <template_parm_index 0x115930690 type <template_type_parm 0x11785a2a0
T>

        decl <type_decl 0x117862ab0 T type <template_type_parm 0x11785a2a0 T>
            decl_0 VOID
/src-local/gcc-master/gcc/testsuite/obj-c++.dg/encode-10.mm:7:10
            align:1 warn_if_not_align:0>
       index 0 level 1 orig_level 1>
    pointer_to_this <pointer_type 0x11785a3f0> chain <type_decl 0x117862ab0 T>>


p debug_tree(args)
 <tree_vec 0x117861680 length:1
    elt:0 <integer_type 0x1159283f0 char public type_6 QI
        size <integer_cst 0x115921258 constant 8>
        unit-size <integer_cst 0x115921270 constant 1>
        align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x1159283f0 precision:8 min <integer_cst 0x1159212a0 -128> max <integer_cst
0x1159212d0 127>
        pointer_to_this <pointer_type 0x115932c78>>>

p debug_tree(in_decl)
 <template_decl 0x11785f380 my_encode
    type <function_type 0x11785a348
        type <pointer_type 0x115936498 type <integer_type 0x1159363f0 char>
            unsigned type_6 DI
            size <integer_cst 0x115921168 constant 64>
            unit-size <integer_cst 0x115921180 constant 8>
            align:64 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x115936498
            pointer_to_this <pointer_type 0x11784ab28>>
        QI
        size <integer_cst 0x115921258 constant 8>
        unit-size <integer_cst 0x115921270 constant 1>
        align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
0x11785a348
        arg-types <tree_list 0x11785c4d8 value <integer_type 0x1159285e8 int>
            chain <tree_list 0x11591cd98 value <void_type 0x115928f18 void>>>
        pointer_to_this <pointer_type 0x11785ad20>>
    VOID /src-local/gcc-master/gcc/testsuite/obj-c++.dg/encode-10.mm:8:13
    align:1 warn_if_not_align:0 context <translation_unit_decl 0x115910168
/src-local/gcc-master/gcc/testsuite/obj-c++.dg/encode-10.mm>
    result <function_decl 0x11785dd00 my_encode type <function_type
0x11785a348>
        public static external QI
/src-local/gcc-master/gcc/testsuite/obj-c++.dg/encode-10.mm:8:13 align:8
warn_if_not_align:0 context <translation_unit_decl 0x115910168
/src-local/gcc-master/gcc/testsuite/obj-c++.dg/encode-10.mm> initial <block
0x11784e300>
        result <result_decl 0x1178531e0 D.4760 type <pointer_type 0x115936498>
            unsigned ignored DI
/src-local/gcc-master/gcc/testsuite/obj-c++.dg/encode-10.mm:8:7 size
<integer_cst 0x115921168 64> unit-size <integer_cst 0x115921180 8>
            align:64 warn_if_not_align:0 context <function_decl 0x11785dd00
my_encode>>
        full-name "const char* my_encode(int)"
        template-info <template_info 0x11785c500 template <template_decl
0x11785f380 my_encode>
            args <tree_vec 0x117861100 length:1 elt:0 <template_type_parm
0x11785a2a0 T>>>
        use_template=0
        arguments <parm_decl 0x11785f300 variant type <integer_type 0x1159285e8
int>
            used SI
/src-local/gcc-master/gcc/testsuite/obj-c++.dg/encode-10.mm:8:27
            size <integer_cst 0x1159213a8 constant 32>
            unit-size <integer_cst 0x1159213c0 constant 4>
            align:32 warn_if_not_align:0 context <function_decl 0x11785dd00
my_encode> arg-type <integer_type 0x1159285e8 int>>
        struct-function 0x115ae7ac8>
    parms <tree_list 0x11785c488 purpose <integer_cst 0x115921270 1>
        value <tree_vec 0x1178610e0 type <template_decl 0x11785f380 my_encode>
            length:1
            elt:0 <tree_list 0x11785c460 value <type_decl 0x117862ab0 T>>>>
    full-name "template<class T> const char* my_encode(int)" chain <var_decl
0x115911f30 suboptarg>>

=====

* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 1.1
    frame #0: 0x0000000102b7b695 cc1objplus`internal_error(gmsgid="in %s, at
%s:%d") at diagnostic.cc:2180:25
    frame #1: 0x0000000102b7bb0f
cc1objplus`fancy_abort(file="/src-local/gcc-master/gcc/cp/pt.cc", line=21533,
function="tsubst_expr") at diagnostic.cc:2296:18
  * frame #2: 0x000000010041b583 cc1objplus`tsubst_expr(t=0x000000011785a2a0,
args=0x0000000117861680, complain=3, in_decl=0x000000011785f380) at
pt.cc:21533:2
    frame #3: 0x0000000100413724 cc1objplus`tsubst_expr(t=0x0000000117861280,
args=0x0000000117861680, complain=3, in_decl=0x000000011785f380) at
pt.cc:20264:20
    frame #4: 0x0000000100413914 cc1objplus`tsubst_expr(t=0x0000000115930750,
args=0x0000000117861680, complain=3, in_decl=0x000000011785f380) at
pt.cc:20285:13
    frame #5: 0x000000010040d8c8 cc1objplus`::tsubst_stmt(t=0x0000000115930750,
args=0x0000000117861680, complain=3, in_decl=0x000000011785f380) at
pt.cc:19218:7
    frame #6: 0x0000000100404a6d cc1objplus`::tsubst_stmt(t=0x0000000117861300,
args=0x0000000117861680, complain=3, in_decl=0x000000011785f380) at
pt.cc:18199:13
    frame #7: 0x00000001004048cb cc1objplus`::tsubst_stmt(t=0x0000000117861220,
args=0x0000000117861680, complain=3, in_decl=0x000000011785f380) at
pt.cc:18181:4
    frame #8: 0x0000000100407f4e cc1objplus`::tsubst_stmt(t=0x0000000115930720,
args=0x0000000117861680, complain=3, in_decl=0x000000011785f380) at
pt.cc:18553:7
    frame #9: 0x00000001004080f8 cc1objplus`::tsubst_stmt(t=0x0000000117854268,
args=0x0000000117861680, complain=3, in_decl=0x000000011785f380) at
pt.cc:18573:7
    frame #10: 0x00000001004048cb
cc1objplus`::tsubst_stmt(t=0x0000000117861140, args=0x0000000117861680,
complain=3, in_decl=0x000000011785f380) at pt.cc:18181:4
    frame #11: 0x0000000100407f4e
cc1objplus`::tsubst_stmt(t=0x00000001159306f0, args=0x0000000117861680,
complain=3, in_decl=0x000000011785f380) at pt.cc:18553:7
    frame #12: 0x0000000100433f3d
cc1objplus`::instantiate_body(pattern=0x000000011785f380,
args=0x0000000117861680, d=0x0000000117863100, nested_p=false) at
pt.cc:26742:16
    frame #13: 0x0000000100435bed
cc1objplus`instantiate_decl(d=0x0000000117863100, defer_ok=false,
expl_inst_class_mem_p=false) at pt.cc:27029:24
    frame #14: 0x0000000100435fde
cc1objplus`instantiate_pending_templates(retries=0) at pt.cc:27107:26
    frame #15: 0x00000001001ed37f cc1objplus`c_parse_final_cleanups() at
decl2.cc:5054:37
    frame #16: 0x00000001005cd4aa cc1objplus`c_common_parse_file() at
c-opts.cc:1296:26
    frame #17: 0x000000010230460a cc1objplus`::compile_file() at
toplev.cc:444:25
    frame #18: 0x000000010230802c cc1objplus`::do_compile(no_backend=false) at
toplev.cc:2126:24
    frame #19: 0x0000000102308570
cc1objplus`toplev::main(this=0x000000030a5af3ba, argc=24,
argv=0x000000030a5af510) at toplev.cc:2282:18
    frame #20: 0x0000000102b46db4 cc1objplus`main(argc=24,
argv=0x000000030a5af510) at main.cc:39:23

=====

Reply via email to