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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Last reconfirmed|2020-02-01 00:00:00         |2024-6-12
           Priority|P3                          |P2
      Known to work|                            |13.1.0, 8.4.0

--- Comment #6 from Richard Biener <rguenth at gcc dot gnu.org> ---
Re-confirmed on the 12 branch.

(gdb) up
#3  0x0000000000c5650e in pp_c_enumeration_constant (pp=0x3eef950, 
    e=<integer_cst 0x7ffff6a2b450>)
    at /space/rguenther/src/gcc-12-branch/gcc/c-family/c-pretty-print.cc:1068
1068          if (tree_int_cst_equal (DECL_INITIAL (TREE_VALUE (value)), e))
(gdb) l
1063
1064      /* Find the name of this constant.  */
1065      if ((pp->flags & pp_c_flag_gnu_v3) == 0)
1066        for (value = TYPE_VALUES (type); value != NULL_TREE;
1067             value = TREE_CHAIN (value))
1068          if (tree_int_cst_equal (DECL_INITIAL (TREE_VALUE (value)), e))
1069            break;
1070
1071      if (value != NULL_TREE)
1072        pp->id_expression (TREE_PURPOSE (value));
(gdb) p debug_tree (value)
 <tree_list 0x7ffff6b44cd0
    purpose <identifier_node 0x7ffff6b5f500 TS_HANDLE_EXTENSION
        symbol <const_decl 0x7ffff6b71000 TS_HANDLE_EXTENSION type
<enumeral_type 0x7ffff6b70540 TSGenType_E>
            VOID /tmp/t.c:2:28
            align:1 warn_if_not_align:0 initial <integer_cst 0x7ffff6b59468
99>>>
    value <integer_cst 0x7ffff6b59468 type <integer_type 0x7ffff6a275e8 int>
constant 99>>

I'd say we likely get the enumeral type wrong, we assume a CONST_DECL but
have

 <enumeral_type 0x7ffff6b707e0 TSGenTypeE asm_written unsigned SI
    size <integer_cst 0x7ffff6a0bf90 type <integer_type 0x7ffff6a270a8
bitsizetype> constant 32>
    unit-size <integer_cst 0x7ffff6a0bfa8 type <integer_type 0x7ffff6a27000
sizetype> constant 4>
    align:32 warn_if_not_align:0 symtab:-155847024 alias-set -1 canonical-type
0x7ffff6b70540 precision:32 min <integer_cst 0x7ffff6a0bfc0 0> max <integer_cst
0x7ffff6a0bf78 4294967295>
    values <tree_list 0x7ffff6b44cd0
        purpose <identifier_node 0x7ffff6b5f500 TS_HANDLE_EXTENSION symbol
<const_decl 0x7ffff6b71000 TS_HANDLE_EXTENSION>>
        value <integer_cst 0x7ffff6b59468 constant 99>>
    chain <type_decl 0x7ffff6a36688 D.1981>>

Reply via email to