https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114043
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Ever confirmed|0 |1 CC| |hubicka at gcc dot gnu.org Last reconfirmed| |2024-02-22 Status|UNCONFIRMED |NEW --- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> --- Confirmed. Doesn't happen w/o -fstrict-enums (huh). (gdb) p debug_tree (t) <function_decl 0x7ffff71c0600 __ct_comp type <method_type 0x7ffff71bdf18 type <void_type 0x7ffff702ff18 void VOID align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7ffff702ff18 pointer_to_this <pointer_type 0x7ffff7036000>> QI size <integer_cst 0x7ffff70292b8 constant 8> unit-size <integer_cst 0x7ffff70292d0 constant 1> align:8 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type 0x7ffff71bdf18 method basetype <record_type 0x7ffff71bdbd0 OverflowSafeInt> arg-types <tree_list 0x7ffff71b7de8 value <pointer_type 0x7ffff71da9d8> chain <tree_list 0x7ffff71b7dc0 value <integer_type 0x7ffff702f738 long int> chain <tree_list 0x7ffff7024d98 value <void_type 0x7ffff702ff18 void>>>> pointer_to_this <pointer_type 0x7ffff71da540>> addressable used nothrow public static weak autoinline decl_5 QI t.ii:3:3 align:16 warn_if_not_align:0 context <translation_unit_decl 0x7ffff7018168 t.ii> initial <error_mark 0x7ffff70291b0> chain <type_decl 0x7ffff703ec78 OverflowSafeInt>> that's the OverflowSafeInt(long) {} CTOR. We have cgraph_node::get (t)->definition == 0. It might be the --param disables some important cgraph initialization (edges rebuild?). But not sure where -fstric-enums comes into play.