diff options
author | Jan Hubicka <hubicka@ucw.cz> | 2015-12-08 23:00:55 +0100 |
---|---|---|
committer | Jan Hubicka <hubicka@gcc.gnu.org> | 2015-12-08 22:00:55 +0000 |
commit | 54f97f900086fcc62411261205dd61e50f460421 (patch) | |
tree | 9e812c5cc3b234722834990858655f4d3e1fe90c /gcc | |
parent | 4d5438cd3cc48733f76f65aaad34475c06468886 (diff) | |
download | gcc-54f97f900086fcc62411261205dd61e50f460421.zip gcc-54f97f900086fcc62411261205dd61e50f460421.tar.gz gcc-54f97f900086fcc62411261205dd61e50f460421.tar.bz2 |
re PR lto/61886 (LTO breaks fread with _FORTIFY_SOURCE=2)
PR ipa/61886
* symtab.c (symtab_node::verify_base): Fix thinko in a conditional.
(symtab_node::noninterposable_alias): Do not accept transparent
aliases.
From-SVN: r231427
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/symtab.c | 4 |
2 files changed, 9 insertions, 2 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 1668e4e..e4c7207 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,10 @@ +2015-12-08 Jan Hubicka <hubicka@ucw.cz> + + PR ipa/61886 + * symtab.c (symtab_node::verify_base): Fix thinko in a conditional. + (symtab_node::noninterposable_alias): Do not accept transparent + aliases. + 2015-12-08 Nathan Sidwell <nathan@acm.org> * config/nvptx/nvptx.c (decl_chunk_size, decl_chunk_mode, diff --git a/gcc/symtab.c b/gcc/symtab.c index 06d618b..a9a0ab6 100644 --- a/gcc/symtab.c +++ b/gcc/symtab.c @@ -1005,7 +1005,7 @@ symtab_node::verify_base (void) } if (!hashed_node && !(is_a <varpool_node *> (this) - || DECL_HARD_REGISTER (decl))) + && DECL_HARD_REGISTER (decl))) { error ("node not found in symtab assembler name hash"); error_found = true; @@ -1637,7 +1637,7 @@ symtab_node::resolve_alias (symtab_node *target, bool transparent) bool symtab_node::noninterposable_alias (symtab_node *node, void *data) { - if (decl_binds_to_current_def_p (node->decl)) + if (!node->transparent_alias && decl_binds_to_current_def_p (node->decl)) { symtab_node *fn = node->ultimate_alias_target (); |