This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug ipa/69589] [6 Regression] ICE in initialize_node_lattices, at ipa-cp.c:971
- From: "hubicka at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Thu, 25 Feb 2016 13:38:35 +0000
- Subject: [Bug ipa/69589] [6 Regression] ICE in initialize_node_lattices, at ipa-cp.c:971
- Auto-submitted: auto-generated
- References: <bug-69589-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69589
Jan Hubicka <hubicka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|UNCONFIRMED |ASSIGNED
Last reconfirmed| |2016-02-25
Ever confirmed|0 |1
--- Comment #15 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Looking into the ICE now. Interesting detail is that type S is not merged even
though it is very simple:
#pragma GCC visibility push(hidden)
struct S {
int e;
virtual ~S () {}
};
--- aa 2016-02-25 14:35:42.111872702 +0100
+++ bb 2016-02-25 14:35:40.918649436 +0100
@@ -1,24 +1,26 @@
- <record_type 0x7ffff6cbc2a0 S addressable needs-constructing BLK
+
+ <record_type 0x7ffff6cc1738 S addressable needs-constructing BLK
size <integer_cst 0x7ffff6ad5c00 type <integer_type 0x7ffff6ad92a0
bitsizetype> constant 128>
unit size <integer_cst 0x7ffff6ad5c18 type <integer_type 0x7ffff6ad91f8
sizetype> constant 16>
align 64 symtab 0 alias set -1 canonical type 0x7ffff6cbc2a0
- fields <field_decl 0x7ffff6cba260 _vptr.S
+ fields <field_decl 0x7ffff6cc0428 _vptr.S
type <pointer_type 0x7ffff6cbc1f8 type <pointer_type 0x7ffff6cbc0a8
__vtbl_ptr_type>
unsigned DI
size <integer_cst 0x7ffff6ad5bb8 constant 64>
unit size <integer_cst 0x7ffff6ad5bd0 constant 8>
align 64 symtab 0 alias set -1 structural equality>
- unsigned virtual DI file a.C line 7 col 8
+ unsigned virtual DI file b.C line 38 col 8
size <integer_cst 0x7ffff6ad5bb8 constant 64>
unit size <integer_cst 0x7ffff6ad5bd0 constant 8>
align 64 offset_align 128
offset <integer_cst 0x7ffff6ad5be8 constant 0>
- bit offset <integer_cst 0x7ffff6ad5c30 constant 0> context
<record_type 0x7ffff6cbc2a0 S>
- chain <field_decl 0x7ffff6cba2f8 e type <integer_type 0x7ffff6ad97e0
int>
- nonlocal SI file a.C line 8 col 7
+ bit offset <integer_cst 0x7ffff6ad5c30 constant 0> context
<record_type 0x7ffff6cc1738 S>
+ chain <field_decl 0x7ffff6cc0558 e type <integer_type 0x7ffff6ad97e0
int>
+ nonlocal SI file b.C line 39 col 7
size <integer_cst 0x7ffff6ad5df8 constant 32>
unit size <integer_cst 0x7ffff6ad5e10 constant 4>
align 32 offset_align 128
offset <integer_cst 0x7ffff6ad5be8 constant 0>
- bit offset <integer_cst 0x7ffff6ad5bb8 constant 64> context
<record_type 0x7ffff6cbc2a0 S>>> context <translation_unit_decl 0x7ffff6adf168
D.3884>
- chain <type_decl 0x7ffff6cba1c8 S>>duplicate #0
+ bit offset <integer_cst 0x7ffff6ad5bb8 constant 64> context
<record_type 0x7ffff6cc1738 S>>> context <translation_unit_decl 0x7ffff6adf1e0
D.3930>
+ pointer_to_this <pointer_type 0x7ffff6cc17e0> chain <type_decl
0x7ffff6cc04c0 S>> <translation_unit_decl 0x7ffff6adf1e0 D.3930 VOID file
(null) line 0 col 0
+ align 1>
dunno why it can't be merged.
Richi, any idea?