aboutsummaryrefslogtreecommitdiff
path: root/gcc/varasm.c
diff options
context:
space:
mode:
authorAnthony Green <green@redhat.com>2002-02-04 03:03:44 +0000
committerBryce McKinlay <bryce@gcc.gnu.org>2002-02-04 03:03:44 +0000
commit10c459437e4444fc5a111d1c3bdb96022e23716f (patch)
tree9e8245138c4f5a27f756f13a4d867cb52d972455 /gcc/varasm.c
parent14b7105512eb617f5a80c1853ff0f8ab18ad0324 (diff)
downloadgcc-10c459437e4444fc5a111d1c3bdb96022e23716f.zip
gcc-10c459437e4444fc5a111d1c3bdb96022e23716f.tar.gz
gcc-10c459437e4444fc5a111d1c3bdb96022e23716f.tar.bz2
output.h (SECTION_OVERRIDE): Define.
2002-02-04 Anthony Green <green@redhat.com> * output.h (SECTION_OVERRIDE): Define. * varasm.c (named_section): Obey SECTION_OVERRIDE. java: 2002-02-04 Anthony Green <green@redhat.com> * class.c (build_utf8_ref): Put UTF-8 constants into merged sections if available. From-SVN: r49469
Diffstat (limited to 'gcc/varasm.c')
-rw-r--r--gcc/varasm.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/varasm.c b/gcc/varasm.c
index 955a98e..8bd5807 100644
--- a/gcc/varasm.c
+++ b/gcc/varasm.c
@@ -445,11 +445,15 @@ named_section (decl, name, reloc)
flags = (* targetm.section_type_flags) (decl, name, reloc);
/* Sanity check user variables for flag changes. Non-user
- section flag changes will abort in named_section_flags. */
+ section flag changes will abort in named_section_flags.
+ However, don't complain if SECTION_OVERRIDE is set.
+ We trust that the setter knows that it is safe to ignore
+ the default flags for this decl. */
if (decl && ! set_named_section_flags (name, flags))
{
- error_with_decl (decl, "%s causes a section type conflict");
flags = get_named_section_flags (name);
+ if ((flags & SECTION_OVERRIDE) == 0)
+ error_with_decl (decl, "%s causes a section type conflict");
}
named_section_flags (name, flags);