aboutsummaryrefslogtreecommitdiff
path: root/gcc/config
diff options
context:
space:
mode:
authorRichard Henderson <rth@gcc.gnu.org>2002-05-15 09:50:44 -0700
committerRichard Henderson <rth@gcc.gnu.org>2002-05-15 09:50:44 -0700
commit14285ace8899def6117605a40a2b7bacabbfb1ab (patch)
tree179f7a6574d28237262fa17ca5626ccf632f8315 /gcc/config
parentd2aa36f5d96ab2a31788516e05b4c1f3cc0503d6 (diff)
downloadgcc-14285ace8899def6117605a40a2b7bacabbfb1ab.zip
gcc-14285ace8899def6117605a40a2b7bacabbfb1ab.tar.gz
gcc-14285ace8899def6117605a40a2b7bacabbfb1ab.tar.bz2
varasm.c (merge_weak): Error for any weakening after definition.
* varasm.c (merge_weak): Error for any weakening after definition. Adjust weakening after use warning to catch more cases. (assemble_alias): Set TREE_USED and TREE_ASM_WRITTEN consistently. * config/alpha/alpha.c (alpha_encode_section_info): Do not abort. * gcc.dg/weak-5.c (vfoo1c): No warning here. (vfoo1f): Warning here. (vfoo1l): Don't redefine the alias. From-SVN: r53491
Diffstat (limited to 'gcc/config')
-rw-r--r--gcc/config/alpha/alpha.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/alpha/alpha.c b/gcc/config/alpha/alpha.c
index c40636a..281e526 100644
--- a/gcc/config/alpha/alpha.c
+++ b/gcc/config/alpha/alpha.c
@@ -1678,7 +1678,11 @@ alpha_encode_section_info (decl, first)
XSTR (XEXP (DECL_RTL (decl), 0), 0) = string;
}
else if (symbol_str[0] == '@')
- abort ();
+ {
+ /* We're hosed. This can happen when the user adds a weak
+ attribute after rtl generation. They should have gotten
+ a warning about unspecified behaviour from varasm.c. */
+ }
}
/* legitimate_address_p recognizes an RTL expression that is a valid