diff options
| author | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-09-24 13:07:25 +0000 |
|---|---|---|
| committer | ro <ro@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-09-24 13:07:25 +0000 |
| commit | 92395ef7323e02db94d262d84ece5f342c3ae5ea (patch) | |
| tree | 1161d74636c9bd8bf6af80ab9859d26a28685a2e | |
| parent | 545c2bde57ef5a5b19e58b8931c19e66c686eefa (diff) | |
| download | ppe42-gcc-92395ef7323e02db94d262d84ece5f342c3ae5ea.tar.gz ppe42-gcc-92395ef7323e02db94d262d84ece5f342c3ae5ea.zip | |
* class.c (build_utf8_ref): Test for HAVE_GAS_SHF_MERGE value.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@71733 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/java/ChangeLog | 4 | ||||
| -rw-r--r-- | gcc/java/class.c | 35 |
2 files changed, 22 insertions, 17 deletions
diff --git a/gcc/java/ChangeLog b/gcc/java/ChangeLog index 6f127f3df00..9d2cc8ca71e 100644 --- a/gcc/java/ChangeLog +++ b/gcc/java/ChangeLog @@ -1,3 +1,7 @@ +2003-09-24 Rainer Orth <ro@TechFak.Uni-Bielefeld.DE> + + * class.c (build_utf8_ref): Test for HAVE_GAS_SHF_MERGE value. + 2003-09-23 Roger Sayle <roger@eyesopen.com> * jcf-write.c (generate_bytecode_insns): Optimize binary operations diff --git a/gcc/java/class.c b/gcc/java/class.c index e3e6cc36e58..552a4f45862 100644 --- a/gcc/java/class.c +++ b/gcc/java/class.c @@ -779,23 +779,24 @@ build_utf8_ref (tree name) TREE_READONLY (decl) = 1; TREE_THIS_VOLATILE (decl) = 0; DECL_INITIAL (decl) = cinit; -#ifdef HAVE_GAS_SHF_MERGE - { - int decl_size; - /* Ensure decl_size is a multiple of utf8const_type's alignment. */ - decl_size = (name_len + 5 + TYPE_ALIGN_UNIT (utf8const_type) - 1) - & ~(TYPE_ALIGN_UNIT (utf8const_type) - 1); - if (flag_merge_constants && decl_size < 256) - { - char buf[32]; - int flags = (SECTION_OVERRIDE - | SECTION_MERGE | (SECTION_ENTSIZE & decl_size)); - sprintf (buf, ".rodata.jutf8.%d", decl_size); - named_section_flags (buf, flags); - DECL_SECTION_NAME (decl) = build_string (strlen (buf), buf); - } - } -#endif + + if (HAVE_GAS_SHF_MERGE) + { + int decl_size; + /* Ensure decl_size is a multiple of utf8const_type's alignment. */ + decl_size = (name_len + 5 + TYPE_ALIGN_UNIT (utf8const_type) - 1) + & ~(TYPE_ALIGN_UNIT (utf8const_type) - 1); + if (flag_merge_constants && decl_size < 256) + { + char buf[32]; + int flags = (SECTION_OVERRIDE + | SECTION_MERGE | (SECTION_ENTSIZE & decl_size)); + sprintf (buf, ".rodata.jutf8.%d", decl_size); + named_section_flags (buf, flags); + DECL_SECTION_NAME (decl) = build_string (strlen (buf), buf); + } + } + TREE_CHAIN (decl) = utf8_decl_list; layout_decl (decl, 0); pushdecl (decl); |

