aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Earnshaw <rearnsha@arm.com>2011-12-22 17:31:50 +0000
committerRichard Earnshaw <rearnsha@gcc.gnu.org>2011-12-22 17:31:50 +0000
commit444880b9b1f55dd5efa5212c120fcfc012ea90eb (patch)
tree556b346e1fa69436def8ad3e7b9456e72e9f9f5c
parent8ee957277277dd4efb39d5d828f2bfa5573c2fc8 (diff)
downloadgcc-444880b9b1f55dd5efa5212c120fcfc012ea90eb.zip
gcc-444880b9b1f55dd5efa5212c120fcfc012ea90eb.tar.gz
gcc-444880b9b1f55dd5efa5212c120fcfc012ea90eb.tar.bz2
re PR target/51643 (Incorrect code produced for tail-call of weak function with -O2/-O3 option)
PR target/51643 * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous change. From-SVN: r182628
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/config/arm/arm.c2
2 files changed, 7 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index cc8a2a4..3c785e1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2011-12-21 Richard Earnshaw <rearnsha@arm.com>
+
+ PR target/51643
+ * arm.c (arm_function_ok_for_sibcall): Use DECL_WEAK in previous
+ change.
+
2011-12-22 Tristan Gingold <gingold@adacore.com>
* config/ia64/ia64.c (ia64_promote_function_mode): Remove.
diff --git a/gcc/config/arm/arm.c b/gcc/config/arm/arm.c
index fec43fb..0bded8d 100644
--- a/gcc/config/arm/arm.c
+++ b/gcc/config/arm/arm.c
@@ -5255,7 +5255,7 @@ arm_function_ok_for_sibcall (tree decl, tree exp)
sibling calls. */
if (TARGET_AAPCS_BASED
&& arm_abi == ARM_ABI_AAPCS
- && lookup_attribute ("weak", DECL_ATTRIBUTES (decl)))
+ && DECL_WEAK (decl))
return false;
/* Everything else is ok. */