c-decl.c: Include c-pragma.h.
authorRichard Henderson <rth@redhat.com>
Fri, 15 Mar 2002 07:11:14 +0000 (23:11 -0800)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 15 Mar 2002 07:11:14 +0000 (23:11 -0800)
commitecb0eecefbd769b20dc9842fb0881db7492ec225
treea4832f691fe7468c7db7811469b930a129616f84
parent98d2b17e0c941e8e60055d10b36e2ceef522be92
c-decl.c: Include c-pragma.h.

        * 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.

From-SVN: r50797
gcc/ChangeLog
gcc/Makefile.in
gcc/c-decl.c
gcc/c-pragma.c
gcc/c-pragma.h
gcc/cp/ChangeLog
gcc/cp/Make-lang.in
gcc/cp/decl.c
gcc/print-tree.c
gcc/testsuite/gcc.dg/weak-1.c [new file with mode: 0644]
gcc/varasm.c