diff options
author | Richard Henderson <rth@gcc.gnu.org> | 2002-05-15 09:50:44 -0700 |
---|---|---|
committer | Richard Henderson <rth@gcc.gnu.org> | 2002-05-15 09:50:44 -0700 |
commit | 14285ace8899def6117605a40a2b7bacabbfb1ab (patch) | |
tree | 179f7a6574d28237262fa17ca5626ccf632f8315 /gcc/config | |
parent | d2aa36f5d96ab2a31788516e05b4c1f3cc0503d6 (diff) | |
download | gcc-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.c | 6 |
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 |