[Bug ipa/87957] [9 Regression] ICE tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in warn_odr, at ipa-devirt.c:1051 since r265519
ro at CeBiTec dot Uni-Bielefeld.DE
gcc-bugzilla@gcc.gnu.org
Mon Dec 10 14:02:00 GMT 2018
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87957
--- Comment #15 from ro at CeBiTec dot Uni-Bielefeld.DE <ro at CeBiTec dot Uni-Bielefeld.DE> ---
> --- Comment #14 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
> That would be the
> gcc_checking_assert (TREE_TYPE (name) == t);
> assert then. So, what is TREE_TYPE (name) and what is t when this happens?
Here's what I find (after recompiling tree.c with -g3 -O0):
(gdb) up
#1 0x09777f85 in fld_incomplete_type_of (t=0xfa58cc60, fld=0xfeffd6a8)
at /vol/gcc/src/hg/trunk/local/gcc/tree.c:5312
5312 gcc_checking_assert (TREE_TYPE (name) == t);
(gdb) p name
$1 = (tree) 0xfa593000
(gdb) call TREE_TYPE (name)
$2 = (tree) 0xfa58ccc0
(gdb) pt
warning: Expression is not an assignment (and might have no effect)
<record_type fa58ccc0
system__tasking__protected_objects__operations__communication_block
sizes-gimplified volatile visited type_2 BLK
size <integer_cst fa4058fc type <integer_type faefb0c0 bitsizetype>
constant 64>
unit-size <integer_cst fa405910 type <integer_type faefb060 sizetype>
constant 8>
align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type fa58ccc0
fields <field_decl fa589e70 self
type <pointer_type fa5a3a20 system__tasking__task_id type <record_type
fa5a3960 system__tasking__ada_task_control_block>
static unsigned SI
size <integer_cst fa4058ac constant 32>
unit-size <integer_cst fa4058c0 constant 4>
align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
fa542900>
side-effects volatile unsigned nonaddressable SI
/var/gcc/regression/trunk/11-gcc/build/i386-pc-solaris2.11/libada/adainclude/s-tpobop.ads:193:7
size <integer_cst fa4058ac 32> unit-size <integer_cst fa4058c0 4>
align:32 warn_if_not_align:0 offset_align 128
offset <integer_cst fa4058d4 constant 0>
bit-offset <integer_cst fa405924 constant 0> context <record_type
fa58cc60 system__tasking__protected_objects__operations__communication_block>
chain <field_decl fa589ec8 enqueued type <boolean_type fa41b480
boolean>
side-effects volatile unsigned nonaddressable QI
/var/gcc/regression/trunk/11-gcc/build/i386-pc-solaris2.11/libada/adainclude/s-tpobop.ads:194:7
size <integer_cst fa4059b0 constant 8>
unit-size <integer_cst fa4059c4 constant 1>
align:8 warn_if_not_align:0 offset_align 128 offset <integer_cst
fa4058d4 0> bit-offset <integer_cst fa4058ac 32> context <record_type fa58cc60
system__tasking__protected_objects__operations__communication_block> chain
<field_decl fa589f20 cancelled>>> context <translation_unit_decl fa40f558
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gnat.dg/lto8.adb>
Ada size <integer_cst fa558d98 type <integer_type faefb0c0 bitsizetype>
constant visited 48>
pointer_to_this <pointer_type fa58ce40> reference_to_this <reference_type
fa58cd20> chain <type_decl fa593000
system__tasking__protected_objects__operations__communication_block>>
(gdb) p t
$3 = (tree) 0xfa58cc60
(gdb) pt
warning: Expression is not an assignment (and might have no effect)
<record_type fa58cc60
system__tasking__protected_objects__operations__communication_block type_2 BLK
size <integer_cst fa4058fc type <integer_type faefb0c0 bitsizetype>
constant 64>
unit-size <integer_cst fa405910 type <integer_type faefb060 sizetype>
constant 8>
align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type fa58cc60
fields <field_decl fa589e70 self
type <pointer_type fa5a3a20 system__tasking__task_id type <record_type
fa5a3960 system__tasking__ada_task_control_block>
static unsigned SI
size <integer_cst fa4058ac constant 32>
unit-size <integer_cst fa4058c0 constant 4>
align:32 warn_if_not_align:0 symtab:0 alias-set -1 canonical-type
fa542900>
side-effects volatile unsigned nonaddressable SI
/var/gcc/regression/trunk/11-gcc/build/i386-pc-solaris2.11/libada/adainclude/s-tpobop.ads:193:7
size <integer_cst fa4058ac 32> unit-size <integer_cst fa4058c0 4>
align:32 warn_if_not_align:0 offset_align 128
offset <integer_cst fa4058d4 constant 0>
bit-offset <integer_cst fa405924 constant 0> context <record_type
fa58cc60 system__tasking__protected_objects__operations__communication_block>
chain <field_decl fa589ec8 enqueued type <boolean_type fa41b480
boolean>
side-effects volatile unsigned nonaddressable QI
/var/gcc/regression/trunk/11-gcc/build/i386-pc-solaris2.11/libada/adainclude/s-tpobop.ads:194:7
size <integer_cst fa4059b0 constant 8>
unit-size <integer_cst fa4059c4 constant 1>
align:8 warn_if_not_align:0 offset_align 128 offset <integer_cst
fa4058d4 0> bit-offset <integer_cst fa4058ac 32> context <record_type fa58cc60
system__tasking__protected_objects__operations__communication_block> chain
<field_decl fa589f20 cancelled>>> context <translation_unit_decl fa40f558
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gnat.dg/lto8.adb>
Ada size <integer_cst fa558d98 type <integer_type faefb0c0 bitsizetype>
constant visited 48>
chain <type_decl fa589f78
system__tasking__protected_objects__operations__communication_block>>
More information about the Gcc-bugs
mailing list