[Bug middle-end/90982] [9/10 Regression] ICE in make_decl_rtl, at varasm.c:1344
rguenth at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Jun 24 17:31:00 GMT 2019
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90982
Richard Biener <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |needs-bisection
Priority|P3 |P2
Status|UNCONFIRMED |NEW
Last reconfirmed| |2019-06-24
Component|c++ |middle-end
Target Milestone|--- |9.2
Ever confirmed|0 |1
--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.
#1 0x000000000191fad2 in make_decl_rtl (decl=<var_decl 0x7ffff6dbebd0 d>)
at ../../src/trunk/gcc/varasm.c:1343
1343 gcc_assert (!VAR_P (decl)
(gdb) l
1338 /* Check that we are not being given an automatic variable. */
1339 gcc_assert (TREE_CODE (decl) != PARM_DECL
1340 && TREE_CODE (decl) != RESULT_DECL);
1341
1342 /* A weak alias has TREE_PUBLIC set but not the other bits. */
1343 gcc_assert (!VAR_P (decl)
1344 || TREE_STATIC (decl)
1345 || TREE_PUBLIC (decl)
1346 || DECL_EXTERNAL (decl)
1347 || DECL_REGISTER (decl));
(gdb) p debug_tree (decl)
<var_decl 0x7ffff6dbebd0 d
type <record_type 0x7ffff6daaa80 S sizes-gimplified type_5 type_6 BLK
size <integer_cst 0x7ffff6c5e2e8 constant 192>
unit-size <integer_cst 0x7ffff6c5e2b8 constant 24>
align:64 warn_if_not_align:0 symtab:0 alias-set 2 canonical-type
0x7ffff6daaa80
fields <function_decl 0x7ffff6db3500 __dt type <method_type
0x7ffff6dafa80>
public abstract external autoinline decl_3 QI t.ii:1:25 align:16
warn_if_not_align:0 context <record_type 0x7ffff6daaa80 S>
full-name "S<3>::~S() noexcept (<uninstantiated>)"
not-really-extern chain <function_decl 0x7ffff6db3700 __dt_base >>
context <translation_unit_decl 0x7ffff6c4a168 t.ii>
full-name "struct S<3>"
X() X(constX&) this=(X&) n_parents=0 use_template=1 interface-unknown
pointer_to_this <pointer_type 0x7ffff6daad20> reference_to_this
<reference_type 0x7ffff6daf2a0> chain <type_decl 0x7ffff6d61c78 S>>
used BLK t.ii:13:12 size <integer_cst 0x7ffff6c5e2e8 192> unit-size
<integer_cst 0x7ffff6c5e2b8 24>
align:64 warn_if_not_align:0 context <function_decl 0x7ffff6d98700 g>
abstract_origin <parm_decl 0x7ffff6c66b00 d>>
d is an automatic var but somehow it got no RTL assigned during expansion.
More information about the Gcc-bugs
mailing list