This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug ipa/69589] [6 Regression] ICE in initialize_node_lattices, at ipa-cp.c:971


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?

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]