diff options
author | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-15 07:11:14 +0000 |
---|---|---|
committer | rth <rth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-03-15 07:11:14 +0000 |
commit | 5626f4cd4a46a52ef1e4737fce9b343d6873bafd (patch) | |
tree | a4832f691fe7468c7db7811469b930a129616f84 /gcc/c-pragma.h | |
parent | 60e8331cd1525190672dc76f94a32786e30cdad0 (diff) | |
download | gcc-5626f4cd4a46a52ef1e4737fce9b343d6873bafd.tar.gz |
* c-decl.c: Include c-pragma.h.
(start_decl, start_function): Invoke maybe_apply_pragma_weak.
(finish_function): Tidy.
* c-pragma.c: Include c-common.h.
(pending_weaks, apply_pragma_weak, maybe_apply_pragma_weak): New.
(handle_pragma_weak): Use them.
(init_pragma): Register pending_weaks.
* c-pragma.h (maybe_apply_pragma_weak): Declare.
* print-tree.c (print_node): Print DECL_WEAK.
* varasm.c (mark_weak_decls): Remove.
(remove_from_pending_weak_list): Remove.
(add_weak): Remove.
(asm_emit_uninitialised): Call globalize_decl for weak commons.
(weak_decls): Make a tree_list.
(declare_weak): Cons weak_decls directly.
(globalize_decl): Remove weak_decls elements directly.
(weak_finish): Simplify weak_decls walk. Don't weaken unused
symbols. Don't pretend to handle aliases.
(init_varasm_once): Update weak_decls registry.
* Makefile.in: Update dependencies.
* cp/decl.c: Include c-pragma.h.
(start_decl, start_function): Invoke maybe_apply_pragma_weak.
* cp/Make-lang.in: Update dependencies.
* gcc.dg/weak-1.c: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50797 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-pragma.h')
-rw-r--r-- | gcc/c-pragma.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/c-pragma.h b/gcc/c-pragma.h index 8d0c4f58501..ea5a9826d61 100644 --- a/gcc/c-pragma.h +++ b/gcc/c-pragma.h @@ -53,4 +53,6 @@ extern void cpp_register_pragma PARAMS ((cpp_reader *, void (*) PARAMS ((cpp_reader *)))); #endif +extern void maybe_apply_pragma_weak PARAMS ((tree)); + #endif /* GCC_C_PRAGMA_H */ |