diff options
author | Alexander Kabaev <kan@FreeBSD.org> | 2007-08-14 02:45:23 +0000 |
---|---|---|
committer | Alexander Kabaev <kan@FreeBSD.org> | 2007-08-14 02:45:23 +0000 |
commit | 23baddbde1e3e9e59547d9f4e0429ef69906b216 (patch) | |
tree | 7b2fa7d3de8706d9ca72fdb284ce2a57f67d460a /contrib/gcc/config/rs6000 | |
parent | 888346df5fa8bb2a862c2298910fe7ae332efbcb (diff) |
GCC 4.2.1 release.
Notes
Notes:
svn path=/vendor/gcc/dist/; revision=171825
Diffstat (limited to 'contrib/gcc/config/rs6000')
-rw-r--r-- | contrib/gcc/config/rs6000/predicates.md | 4 | ||||
-rw-r--r-- | contrib/gcc/config/rs6000/rs6000.c | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/contrib/gcc/config/rs6000/predicates.md b/contrib/gcc/config/rs6000/predicates.md index 6aefe2dd0c98..65231e1a61ae 100644 --- a/contrib/gcc/config/rs6000/predicates.md +++ b/contrib/gcc/config/rs6000/predicates.md @@ -694,7 +694,9 @@ (define_predicate "current_file_function_operand" (and (match_code "symbol_ref") (match_test "(DEFAULT_ABI != ABI_AIX || SYMBOL_REF_FUNCTION_P (op)) - && (SYMBOL_REF_LOCAL_P (op) + && ((SYMBOL_REF_LOCAL_P (op) + && (DEFAULT_ABI != ABI_AIX + || !SYMBOL_REF_EXTERNAL_P (op))) || (op == XEXP (DECL_RTL (current_function_decl), 0)))"))) diff --git a/contrib/gcc/config/rs6000/rs6000.c b/contrib/gcc/config/rs6000/rs6000.c index 5e9d0fef02e7..6670a2034f20 100644 --- a/contrib/gcc/config/rs6000/rs6000.c +++ b/contrib/gcc/config/rs6000/rs6000.c @@ -13515,7 +13515,8 @@ rs6000_function_ok_for_sibcall (tree decl, tree exp ATTRIBUTE_UNUSED) } } if (DEFAULT_ABI == ABI_DARWIN - || (*targetm.binds_local_p) (decl)) + || ((*targetm.binds_local_p) (decl) + && (DEFAULT_ABI != ABI_AIX || !DECL_EXTERNAL (decl)))) { tree attr_list = TYPE_ATTRIBUTES (TREE_TYPE (decl)); |