public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
@ 2015-03-04 18:54 burnus at gcc dot gnu.org
  2015-03-04 19:47 ` [Bug lto/65316] " trippels at gcc dot gnu.org
                   ` (12 more replies)
  0 siblings, 13 replies; 14+ messages in thread
From: burnus at gcc dot gnu.org @ 2015-03-04 18:54 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

            Bug ID: 65316
           Summary: [5 Regression] LTO: Uninitialized memory / ICE with -g
                    -fno-lto-odr-type-merging: in types_same_for_odr, at
                    ipa-devirt.c:465
           Product: gcc
           Version: 5.0
            Status: UNCONFIRMED
          Keywords: ice-on-valid-code
          Severity: normal
          Priority: P3
         Component: lto
          Assignee: unassigned at gcc dot gnu.org
          Reporter: burnus at gcc dot gnu.org
                CC: hubicka at gcc dot gnu.org

Created attachment 34954
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34954&action=edit
one.ii

Follow up to PR65276 and PR65302.

It turned out that is issue is due to uninitialized memory. Thus, if the last
command succeeds, simply try again a couple of times (in delta, I called it up
to 25 times) - or run it under valgrind or similar.

It fails with the ICE:

lto1: internal compiler error: in types_same_for_odr, at ipa-devirt.c:465


touch two.ii
g++ -c -std=c++11 -g2 -fno-lto-odr-type-merging -flto -O2 two.ii one.ii
gcc -r -nostdlib -O2 -fno-lto-odr-type-merging -flto one.o two.o


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
@ 2015-03-04 19:47 ` trippels at gcc dot gnu.org
  2015-03-05  0:01 ` hubicka at gcc dot gnu.org
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-04 19:47 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2015-03-04
                 CC|                            |trippels at gcc dot gnu.org
     Ever confirmed|0                           |1

--- Comment #1 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
In member function ‘_ZNKSt5ctypeIcE5widenEc.part.2.constprop’:
lto1: internal compiler error: in types_same_for_odr, at ipa-devirt.c:465
0x86041e types_same_for_odr(tree_node const*, tree_node const*)
        ../../gcc/gcc/ipa-devirt.c:465
0x86c099 odr_hasher::equal(odr_type_d const*, tree_node const*)
        ../../gcc/gcc/ipa-devirt.c:513
0x86c099 hash_table<odr_hasher, xcallocator,
false>::find_slot_with_hash(tree_node const*, unsigned int, insert_option)
        ../../gcc/gcc/hash-table.h:981
0x862cb7 get_odr_type(tree_node*, bool)
        ../../gcc/gcc/ipa-devirt.c:1590
0x8680fd possible_polymorphic_call_targets(tree_node*, long,
ipa_polymorphic_call_context, bool*, void**, bool)
        ../../gcc/gcc/ipa-devirt.c:2497
0x7cda0c possible_polymorphic_call_targets(tree_node*, gimple_statement_base*,
bool*, void**)
        ../../gcc/gcc/ipa-utils.h:126
0x7cba49 gimple_fold_call
        ../../gcc/gcc/gimple-fold.c:3094
0x7cba49 fold_stmt_1
        ../../gcc/gcc/gimple-fold.c:3676
0xa8a992 fold_marked_statements
        ../../gcc/gcc/tree-inline.c:4864
0xa979b4 tree_function_versioning(tree_node*, tree_node*, vec<ipa_replace_map*,
va_gc, vl_embed>*, bool, bitmap_head*, bool, bitmap_head*, basic_block_def*)
        ../../gcc/gcc/tree-inline.c:5810
0x6919c3 cgraph_materialize_clone
        ../../gcc/gcc/cgraphclones.c:1056
0x6919c3 symbol_table::materialize_all_clones()
        ../../gcc/gcc/cgraphclones.c:1153
0x68c739 symbol_table::compile()
        ../../gcc/gcc/cgraphunit.c:2326
0x603076 lto_main()
        ../../gcc/gcc/lto/lto.c:3476
Please submit a full bug report,
>From gcc-bugs-return-479379-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org Wed Mar 04 19:51:32 2015
Return-Path: <gcc-bugs-return-479379-listarch-gcc-bugs=gcc.gnu.org@gcc.gnu.org>
Delivered-To: listarch-gcc-bugs@gcc.gnu.org
Received: (qmail 97569 invoked by alias); 4 Mar 2015 19:51:32 -0000
Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm
Precedence: bulk
List-Id: <gcc-bugs.gcc.gnu.org>
List-Archive: <http://gcc.gnu.org/ml/gcc-bugs/>
List-Post: <mailto:gcc-bugs@gcc.gnu.org>
List-Help: <mailto:gcc-bugs-help@gcc.gnu.org>
Sender: gcc-bugs-owner@gcc.gnu.org
Delivered-To: mailing list gcc-bugs@gcc.gnu.org
Received: (qmail 97543 invoked by uid 48); 4 Mar 2015 19:51:29 -0000
From: "sje at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/65315] incorrect alignment of local variable with aligned attribute
Date: Wed, 04 Mar 2015 19:51:00 -0000
X-Bugzilla-Reason: CC
X-Bugzilla-Type: changed
X-Bugzilla-Watch-Reason: None
X-Bugzilla-Product: gcc
X-Bugzilla-Component: middle-end
X-Bugzilla-Version: unknown
X-Bugzilla-Keywords:
X-Bugzilla-Severity: normal
X-Bugzilla-Who: sje at gcc dot gnu.org
X-Bugzilla-Status: UNCONFIRMED
X-Bugzilla-Priority: P3
X-Bugzilla-Assigned-To: unassigned at gcc dot gnu.org
X-Bugzilla-Target-Milestone: ---
X-Bugzilla-Flags:
X-Bugzilla-Changed-Fields:
Message-ID: <bug-65315-4-9tsLRxAbnw@http.gcc.gnu.org/bugzilla/>
In-Reply-To: <bug-65315-4@http.gcc.gnu.org/bugzilla/>
References: <bug-65315-4@http.gcc.gnu.org/bugzilla/>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Bugzilla-URL: http://gcc.gnu.org/bugzilla/
Auto-Submitted: auto-generated
MIME-Version: 1.0
X-SW-Source: 2015-03/txt/msg00523.txt.bz2
Content-length: 201

https://gcc.gnu.org/bugzilla/show_bug.cgi?ide315

--- Comment #2 from Steve Ellcey <sje at gcc dot gnu.org> ---
I submitted a proposed fix.

https://gcc.gnu.org/ml/gcc-patches/2015-03/msg00244.html


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
  2015-03-04 19:47 ` [Bug lto/65316] " trippels at gcc dot gnu.org
@ 2015-03-05  0:01 ` hubicka at gcc dot gnu.org
  2015-03-05  9:20 ` rguenth at gcc dot gnu.org
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-03-05  0:01 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED
           Assignee|unassigned at gcc dot gnu.org      |hubicka at gcc dot gnu.org

--- Comment #2 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Mine, obviously.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
  2015-03-04 19:47 ` [Bug lto/65316] " trippels at gcc dot gnu.org
  2015-03-05  0:01 ` hubicka at gcc dot gnu.org
@ 2015-03-05  9:20 ` rguenth at gcc dot gnu.org
  2015-03-06  6:02 ` hubicka at gcc dot gnu.org
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: rguenth at gcc dot gnu.org @ 2015-03-05  9:20 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1
   Target Milestone|---                         |5.0


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2015-03-05  9:20 ` rguenth at gcc dot gnu.org
@ 2015-03-06  6:02 ` hubicka at gcc dot gnu.org
  2015-03-06  9:30 ` burnus at gcc dot gnu.org
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-03-06  6:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

--- Comment #3 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
$ valgrind ./xgcc -B ./ -r -nostdlib -O2 -fno-lto-odr-type-merging -flto one.o
two.o
==98359== Memcheck, a memory error detector
==98359== Copyright (C) 2002-2011, and GNU GPL'd, by Julian Seward et al.
==98359== Using Valgrind-3.7.0 and LibVEX; rerun with -h for copyright info
==98359== Command: ./xgcc -B ./ -r -nostdlib -O2 -fno-lto-odr-type-merging
-flto one.o two.o
==98359== 
==98359== 
==98359== HEAP SUMMARY:
==98359==     in use at exit: 153,577 bytes in 232 blocks
==98359==   total heap usage: 365 allocs, 133 frees, 180,779 bytes allocated
==98359== 
==98359== LEAK SUMMARY:
==98359==    definitely lost: 36,072 bytes in 133 blocks
==98359==    indirectly lost: 18 bytes in 1 blocks
==98359==      possibly lost: 0 bytes in 0 blocks
==98359==    still reachable: 117,487 bytes in 98 blocks
==98359==         suppressed: 0 bytes in 0 blocks
==98359== Rerun with --leak-check=full to see details of leaked memory
==98359== 
==98359== For counts of detected and suppressed errors, rerun with: -v
==98359== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 4 from 4)

and running
$ while true ; do ./xgcc -B ./ -r -nostdlib -O2 -fno-lto-odr-type-merging -flto
one.o two.o ; done


can you possibly valgrind it to figure out the source of uninitialized access?


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2015-03-06  6:02 ` hubicka at gcc dot gnu.org
@ 2015-03-06  9:30 ` burnus at gcc dot gnu.org
  2015-03-06  9:34 ` trippels at gcc dot gnu.org
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: burnus at gcc dot gnu.org @ 2015-03-06  9:30 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

--- Comment #5 from Tobias Burnus <burnus at gcc dot gnu.org> ---
Created attachment 34972
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=34972&action=edit
valgrind output (for the lto1 child call)

(In reply to Jan Hubicka from comment #3)
> $ while true ; do ./xgcc -B ./ -r -nostdlib -O2 -fno-lto-odr-type-merging
> -flto one.o two.o ; done

Still fails here with a fail rate of 6.2%. (I used: "for ((I=0; $I<1000; I++))"
to gather the data.) 

If I run "valgrind --trace-children=yes" (required as the failure is in lto1
and not in (x)gcc), it shows the attached warnings.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2015-03-06  9:30 ` burnus at gcc dot gnu.org
@ 2015-03-06  9:34 ` trippels at gcc dot gnu.org
  2015-03-06 16:02 ` hubicka at gcc dot gnu.org
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: trippels at gcc dot gnu.org @ 2015-03-06  9:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

--- Comment #6 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to Tobias Burnus from comment #5)
> Created attachment 34972 [details]
> valgrind output (for the lto1 child call)
> 
> (In reply to Jan Hubicka from comment #3)
> > $ while true ; do ./xgcc -B ./ -r -nostdlib -O2 -fno-lto-odr-type-merging
> > -flto one.o two.o ; done
> 
> Still fails here with a fail rate of 6.2%. (I used: "for ((I=0; $I<1000;
> I++))" to gather the data.) 
> 
> If I run "valgrind --trace-children=yes" (required as the failure is in lto1
> and not in (x)gcc), it shows the attached warnings.

All these warnings are bogus (and are disabled in a --enable-checking=valgrind
build).


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
                   ` (5 preceding siblings ...)
  2015-03-06  9:34 ` trippels at gcc dot gnu.org
@ 2015-03-06 16:02 ` hubicka at gcc dot gnu.org
  2015-03-06 18:25 ` hubicka at gcc dot gnu.org
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-03-06 16:02 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

--- Comment #7 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Hmm. memory space randomization, perhaps? I have this turned off, will give it
a try.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
                   ` (6 preceding siblings ...)
  2015-03-06 16:02 ` hubicka at gcc dot gnu.org
@ 2015-03-06 18:25 ` hubicka at gcc dot gnu.org
  2015-03-06 23:31 ` hubicka at ucw dot cz
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-03-06 18:25 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

--- Comment #8 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
I suppose I will need to split ODR hash into hash with types having names and
hash with types not having names defined and insert types with names into both.
The types_same_for_odr really does not play well with current mixed definition
of the hash.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
                   ` (7 preceding siblings ...)
  2015-03-06 18:25 ` hubicka at gcc dot gnu.org
@ 2015-03-06 23:31 ` hubicka at ucw dot cz
  2015-03-07 18:40 ` hubicka at gcc dot gnu.org
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hubicka at ucw dot cz @ 2015-03-06 23:31 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

--- Comment #9 from Jan Hubicka <hubicka at ucw dot cz> ---
This is patch adding the separate hash tables and also bit of extra sanity
checking for merging
types with ODR info and types without.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
                   ` (8 preceding siblings ...)
  2015-03-06 23:31 ` hubicka at ucw dot cz
@ 2015-03-07 18:40 ` hubicka at gcc dot gnu.org
  2015-03-07 20:34 ` hubicka at gcc dot gnu.org
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 14+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-03-07 18:40 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

--- Comment #10 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Unfortunately the patch breaks firefox LTO in an interesting way - I am
investigating if it is a firefox bug or not.


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
                   ` (9 preceding siblings ...)
  2015-03-07 18:40 ` hubicka at gcc dot gnu.org
@ 2015-03-07 20:34 ` hubicka at gcc dot gnu.org
  2015-03-09  0:29 ` hubicka at gcc dot gnu.org
  2015-03-09  1:40 ` hubicka at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-03-07 20:34 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

--- Comment #11 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Sat Mar  7 20:33:58 2015
New Revision: 221258

URL: https://gcc.gnu.org/viewcvs?rev=221258&root=gcc&view=rev
Log:

    PR ipa/65316
    * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
    when outputting debug.

Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/tree.c


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
                   ` (10 preceding siblings ...)
  2015-03-07 20:34 ` hubicka at gcc dot gnu.org
@ 2015-03-09  0:29 ` hubicka at gcc dot gnu.org
  2015-03-09  1:40 ` hubicka at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-03-09  0:29 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

--- Comment #12 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Author: hubicka
Date: Mon Mar  9 00:29:14 2015
New Revision: 221275

URL: https://gcc.gnu.org/viewcvs?rev=221275&root=gcc&view=rev
Log:

    PR lto/65316
    * ipa-utils.h (types_odr_comparable): Add strict argument.
    * ipa-devirt.c: Fix whitespace;
    (odr_hasher): Remove.
    (odr_name_hasher, odr_vtable_hasher): New hashers.
    (can_be_name_hashed_p): New predicate.
    (hash_type_name): remove.
    (hash_odr_name): New.
    (odr_name_hasher::hash): new.
    (can_be_vtable_hashed_p): New.
    (hash_odr_vtable): New.
    (odr_vtable_hasher::hash): New.
    (types_same_for_odr): Add strict parameter.
    (types_odr_comparable): Likewise.
    (odr_name_hasher::equal): New.
    (odr_vtable_hasher::equal): New.
    (odr_name_hasher::remove): New.
    (odr_hash_type): Change to hash_table<odr_name_hasher>.
    (odr_vtable_hash_type): New.
    (odr_vtable_hash): New.
    (odr_subtypes_equivalent_p): Do strict comparsion.
    (add_type_duplicate): Merge type names; cleanup; avoid type
    duplicates.
    (register_odr_type): Initialize vtable hash.
    (build_type_inheritance_graph): Likewise
    (get_odr_type): Reorg to use two hashes.
    (dump_possible_polymorphic_call_targets): Move sanity check after debug
    output.
    (ipa_devirt): Dump type_inheritance_graph.
    (types_same_for_odr): Add strict mode.
    * g++.dg/lto/pr65316_0.C: New testcase.
    * g++.dg/lto/pr65316_1.C: New testcase.

Added:
    trunk/gcc/testsuite/g++.dg/lto/pr65316_0.C
    trunk/gcc/testsuite/g++.dg/lto/pr65316_1.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/ipa-devirt.c
    trunk/gcc/ipa-utils.h
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree.h


^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Bug lto/65316] [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465
  2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
                   ` (11 preceding siblings ...)
  2015-03-09  0:29 ` hubicka at gcc dot gnu.org
@ 2015-03-09  1:40 ` hubicka at gcc dot gnu.org
  12 siblings, 0 replies; 14+ messages in thread
From: hubicka at gcc dot gnu.org @ 2015-03-09  1:40 UTC (permalink / raw)
  To: gcc-bugs

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=65316

Jan Hubicka <hubicka at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|---                         |FIXED

--- Comment #13 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Fixed.


^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2015-03-09  1:40 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-03-04 18:54 [Bug lto/65316] New: [5 Regression] LTO: Uninitialized memory / ICE with -g -fno-lto-odr-type-merging: in types_same_for_odr, at ipa-devirt.c:465 burnus at gcc dot gnu.org
2015-03-04 19:47 ` [Bug lto/65316] " trippels at gcc dot gnu.org
2015-03-05  0:01 ` hubicka at gcc dot gnu.org
2015-03-05  9:20 ` rguenth at gcc dot gnu.org
2015-03-06  6:02 ` hubicka at gcc dot gnu.org
2015-03-06  9:30 ` burnus at gcc dot gnu.org
2015-03-06  9:34 ` trippels at gcc dot gnu.org
2015-03-06 16:02 ` hubicka at gcc dot gnu.org
2015-03-06 18:25 ` hubicka at gcc dot gnu.org
2015-03-06 23:31 ` hubicka at ucw dot cz
2015-03-07 18:40 ` hubicka at gcc dot gnu.org
2015-03-07 20:34 ` hubicka at gcc dot gnu.org
2015-03-09  0:29 ` hubicka at gcc dot gnu.org
2015-03-09  1:40 ` hubicka at gcc dot gnu.org

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).