summaryrefslogtreecommitdiff
path: root/gcc/c-pragma.h
diff options
context:
space:
mode:
authorAlan Modra <amodra@bigpond.net.au>2002-03-01 06:00:38 +0000
committerAlan Modra <amodra@gcc.gnu.org>2002-03-01 16:30:38 +1030
commit79c4e63fcb67a28be17dc1e964014fa5fc2a316e (patch)
tree146341b9078d1b8ac0de9b80ea4f78629e3a7048 /gcc/c-pragma.h
parent562ff1637faf0ce60e65c13a9a7c27015b6226bc (diff)
downloadgcc-79c4e63fcb67a28be17dc1e964014fa5fc2a316e.tar.gz
tm.texi (ASM_WEAKEN_DECL): Document.
* doc/tm.texi (ASM_WEAKEN_DECL): Document. (ASM_WEAKEN_LABEL): Mention ASM_WEAKEN_DECL. (SUPPORTS_WEAK): Likewise. * output.h (add_weak): Add tree param. * varasm.c (add_weak): Likewise. Save decl. (struct weak_syms): Add decl field. (mark_weak_decls): New function. (init_varasm_once): ggc_add_root mark_weak_decls. (assemble_start_function): Use ASM_WEAKEN_DECL. (assemble_variable): Likewise. (assemble_alias): Likewise. (declare_weak): Pass decl to add_weak. (weak_finish): Use ASM_WEAKEN_DECL. Try to find decl. (remove_from_pending_weak_list): Declare and define for ASM_WEAKEN_DECL. * c-pragma.c (handle_pragma_weak): Adjust add_weak call. * c-pragma.h (HANDLE_PRAGMA_WEAK): Define if ASM_WEAKEN_DECL too. * defaults.h (SUPPORTS_WEAK): Likewise. * config/rs6000/linux64.h (ASM_DECLARE_FUNCTION_NAME): Don't emit .weak for code sym. Do emit .size for descriptor sym. (ASM_DECLARE_FUNCTION_SIZE): Define. * config/rs6000/rs6000.h (ASM_WEAKEN_DECL): Define. (ASM_OUTPUT_DEF_FROM_DECLS): Don't emit .weak here. Don't output .lglobl unless TARGET_XCOFF. Formatting fixes. * config/rs6000/xcoff.h (ASM_DECLARE_FUNCTION_NAME): Don't emit .weak for code sym. (HANDLE_PRAGMA_WEAK): Remove. (ASM_WEAKEN_LABEL): Remove. * config/rs6000/aix.h (HANDLE_SYSV_PRAGMA): Define. Co-Authored-By: David Edelsohn <edelsohn@gnu.org> From-SVN: r50181
Diffstat (limited to 'gcc/c-pragma.h')
-rw-r--r--gcc/c-pragma.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/gcc/c-pragma.h b/gcc/c-pragma.h
index ff00f3250f8..8d0c4f58501 100644
--- a/gcc/c-pragma.h
+++ b/gcc/c-pragma.h
@@ -23,9 +23,8 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#define GCC_C_PRAGMA_H
#ifdef HANDLE_SYSV_PRAGMA
-/* Support #pragma weak iff ASM_WEAKEN_LABEL and ASM_OUTPUT_WEAK_ALIAS are
- defined. */
-#if defined (ASM_WEAKEN_LABEL) && defined (ASM_OUTPUT_WEAK_ALIAS)
+#if ((defined (ASM_WEAKEN_LABEL) && defined (ASM_OUTPUT_WEAK_ALIAS)) \
+ || defined (ASM_WEAKEN_DECL))
#define HANDLE_PRAGMA_WEAK SUPPORTS_WEAK
#endif