]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
re PR lto/69337 (Internal compiler error fortran c lto)
authorRichard Biener <rguenther@suse.de>
Mon, 18 Jan 2016 12:19:31 +0000 (12:19 +0000)
committerRichard Biener <rguenth@gcc.gnu.org>
Mon, 18 Jan 2016 12:19:31 +0000 (12:19 +0000)
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

gcc/lto/ChangeLog
gcc/lto/lto-symtab.c

index 352fe17eecbd1eeb99273bd30b2da3d6e2fe4d70..724a525e860a200a3d14b5b658acf2bc5c441328 100644 (file)
@@ -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
index a6f6d01dda12446d015cfc13ebc1f214111bcedf..b22dea873765612943f53d00e0ee0b8737e892fc 100644 (file)
@@ -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);