PR other/4372
commitf4a30bd79f3157bbcbde8aa853c04871575db926
authoraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Nov 2005 20:13:41 +0000 (9 20:13 +0000)
committeraoliva <aoliva@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 9 Nov 2005 20:13:41 +0000 (9 20:13 +0000)
treecdc3a1f501856957bef831df0b91b2b381edd2b8
parent39794ddf0639a3cb6c501db3fa3e088d0094dec8
PR other/4372
* tree.h (IDENTIFIER_TRANSPARENT_ALIAS): New.
(TREE_DEPRECATED): Adjust comment.  Check for a DECL.
* c-common.c (handle_weakref_attribute): New.
(c_common_attribute_table): Add weakref.
* configure.ac (HAVE_GAS_WEAKREF): Check for weakref support
in the assembler.
* configure, config.in: Rebuilt.
* defaults.h (ASM_OUTPUT_WEAKREF): Define if HAVE_GAS_WEAKREF.
* doc/extend.texi: Document weakref attribute.
* varasm.c (ultimate_transparent_alias_target): New
(assemble_name): Use it.
(weak_finish_1): Split out of...
(weak_finish): ... and deal with weakrefs in...
(weakref_targets): ... new list.
(globalize_decl): Clean up weakref_targets.
(do_assemble_alias): Handle weakrefs.
(finish_aliases_1): Do not reject weakrefs to external symbols.
(assemble_alias): Handle weakrefs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106703 138bc75d-0d04-0410-961f-82ee72b054a4
13 files changed:
gcc/ChangeLog
gcc/c-common.c
gcc/config.in
gcc/configure
gcc/configure.ac
gcc/defaults.h
gcc/doc/extend.texi
gcc/testsuite/ChangeLog
gcc/testsuite/g++.old-deja/g++.abi/vtable2.C
gcc/testsuite/gcc.dg/attr-weakref-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/attr-weakref-1a.c [new file with mode: 0644]
gcc/tree.h
gcc/varasm.c