diff options
author | Richard Biener <rguenther@suse.de> | 2016-01-18 12:19:31 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2016-01-18 12:19:31 +0000 |
commit | 13092f619889805136f945718288a3c17c6beae1 (patch) | |
tree | bba0855e3a75907bc0d47ff845f7464e3c4b55bd /gcc/lto | |
parent | 9c5ad80efd80e3962bb7e09bc3ab73545f56d549 (diff) | |
download | gcc-13092f619889805136f945718288a3c17c6beae1.zip gcc-13092f619889805136f945718288a3c17c6beae1.tar.gz gcc-13092f619889805136f945718288a3c17c6beae1.tar.bz2 |
re PR lto/69337 (Internal compiler error fortran c lto)
2016-01-18 Richard Biener <rguenther@suse.de>
PR lto/69337
* lto-symtab.c (lto_symtab_merge): Return early for mismatched
function vs. variable.
From-SVN: r232505
Diffstat (limited to 'gcc/lto')
-rw-r--r-- | gcc/lto/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/lto/lto-symtab.c | 3 |
2 files changed, 9 insertions, 0 deletions
diff --git a/gcc/lto/ChangeLog b/gcc/lto/ChangeLog index 352fe17..724a525 100644 --- a/gcc/lto/ChangeLog +++ b/gcc/lto/ChangeLog @@ -1,3 +1,9 @@ +2016-01-18 Richard Biener <rguenther@suse.de> + + PR lto/69337 + * lto-symtab.c (lto_symtab_merge): Return early for mismatched + function vs. variable. + 2016-01-12 Richard Biener <rguenther@suse.de> PR lto/69077 diff --git a/gcc/lto/lto-symtab.c b/gcc/lto/lto-symtab.c index a6f6d01..b22dea8 100644 --- a/gcc/lto/lto-symtab.c +++ b/gcc/lto/lto-symtab.c @@ -303,6 +303,9 @@ lto_symtab_merge (symtab_node *prevailing, symtab_node *entry) if (prevailing_decl == decl) return true; + if (TREE_CODE (decl) != TREE_CODE (prevailing_decl)) + return false; + /* Merge decl state in both directions, we may still end up using the new decl. */ TREE_ADDRESSABLE (prevailing_decl) |= TREE_ADDRESSABLE (decl); |