aboutsummaryrefslogtreecommitdiff
path: root/gcc/output.h
diff options
context:
space:
mode:
authorFranz Sirl <Franz.Sirl-kernel@lauterbach.com>2002-04-28 18:31:34 +0000
committerFranz Sirl <sirl@gcc.gnu.org>2002-04-28 18:31:34 +0000
commit45806a3fd4f324c7050b26980f282e1a4ef8961e (patch)
treebf07a3136b537dc0844e7c227d87d6ade6e858ef /gcc/output.h
parent32c8d10081ea8d106b1bf83f0ce13480c9e36910 (diff)
downloadgcc-45806a3fd4f324c7050b26980f282e1a4ef8961e.zip
gcc-45806a3fd4f324c7050b26980f282e1a4ef8961e.tar.gz
gcc-45806a3fd4f324c7050b26980f282e1a4ef8961e.tar.bz2
re PR c/6343 (attribute((weak)) not working on second declaration)
2002-04-28 Franz Sirl <Franz.Sirl-kernel@lauterbach.com> PR c/6343 * c-decl.c (duplicate_decls): Call merge_weak. * c-pragma.c (apply_pragma_weak): Warn about misuse. * output.h (merge_weak): Prototype merge_weak. * varasm.c (merge_weak): New function. (declare_weak): Make sure we don't give an error on VAR_DECLs. Mark RTL with SYMBOL_REF_WEAK. cp: * decl.c (duplicate_decls): Call merge_weak. testsuite: * gcc.dg/weak-[2-7].c: New tests. From-SVN: r52844
Diffstat (limited to 'gcc/output.h')
-rw-r--r--gcc/output.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/output.h b/gcc/output.h
index b3426ce..67c635b 100644
--- a/gcc/output.h
+++ b/gcc/output.h
@@ -231,6 +231,8 @@ extern void mergeable_constant_section PARAMS ((enum machine_mode,
/* Declare DECL to be a weak symbol. */
extern void declare_weak PARAMS ((tree));
+/* Merge weak status. */
+extern void merge_weak PARAMS ((tree, tree));
#endif /* TREE_CODE */
/* Emit any pending weak declarations. */