diff options
author | Vladimir Mezentsev <vladimir.mezentsev@oracle.com> | 2018-05-21 20:30:00 +0000 |
---|---|---|
committer | Jeff Law <law@gcc.gnu.org> | 2018-05-21 14:30:00 -0600 |
commit | a3c7081913149383df639270f4972d3d5876b7b3 (patch) | |
tree | 4e0b0de8dc7e6c1d1f8f9afd43801b74a1d12cf3 /gcc | |
parent | 18759120664263a56fa993f5501cbe674383c3ef (diff) | |
download | gcc-a3c7081913149383df639270f4972d3d5876b7b3.zip gcc-a3c7081913149383df639270f4972d3d5876b7b3.tar.gz gcc-a3c7081913149383df639270f4972d3d5876b7b3.tar.bz2 |
re PR target/84923 (gcc.dg/attr-weakref-1.c failed on aarch64)
PR gcc/84923
* varasm.c (weak_finish): Clean up weak_decls.
From-SVN: r260485
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/varasm.c | 3 |
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index b247c1f..6555126 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2018-05-21 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> + + PR gcc/84923 + * varasm.c (weak_finish): Clean up weak_decls. + 2018-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com> * config/aarch64/aarch64.md ("unspec"): Define UNSPEC_SABAL, diff --git a/gcc/varasm.c b/gcc/varasm.c index 85296b4..8cf6e1e 100644 --- a/gcc/varasm.c +++ b/gcc/varasm.c @@ -5652,7 +5652,8 @@ weak_finish (void) tree alias_decl = TREE_PURPOSE (t); tree target = ultimate_transparent_alias_target (&TREE_VALUE (t)); - if (! TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (alias_decl))) + if (! TREE_SYMBOL_REFERENCED (DECL_ASSEMBLER_NAME (alias_decl)) + || TREE_SYMBOL_REFERENCED (target)) /* Remove alias_decl from the weak list, but leave entries for the target alone. */ target = NULL_TREE; |