From a1920fc3d7d9c901cf31eae3b6632b5627eac496 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sat, 27 May 2000 19:21:54 -0700 Subject: [PATCH] elf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h. * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h. From-SVN: r34221 --- gcc/ChangeLog | 5 +++++ gcc/config/alpha/elf.h | 22 ++++++++++++++++++---- 2 files changed, 23 insertions(+), 4 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index bed3c0399a9..461423fcdf4 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2000-05-27 Richard Henderson + + * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19 + change to config/elfos.h. + 2000-05-27 Richard Henderson * Makefile.in (resource.o): Depend on except.h. diff --git a/gcc/config/alpha/elf.h b/gcc/config/alpha/elf.h index 296359796f4..7fad44621dd 100644 --- a/gcc/config/alpha/elf.h +++ b/gcc/config/alpha/elf.h @@ -340,12 +340,11 @@ void FN () \ else \ data_section (); \ } \ - else if (TREE_CODE (DECL) == VAR_DECL \ - || TREE_CODE (DECL) == CONSTRUCTOR) \ + else if (TREE_CODE (DECL) == VAR_DECL) \ { \ if ((flag_pic && RELOC) \ - || !TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \ - || !DECL_INITIAL (DECL) \ + || ! TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \ + || ! DECL_INITIAL (DECL) \ || (DECL_INITIAL (DECL) != error_mark_node \ && !TREE_CONSTANT (DECL_INITIAL (DECL)))) \ { \ @@ -358,6 +357,21 @@ void FN () \ else \ const_section (); \ } \ + else if (TREE_CODE (DECL) == CONSTRUCTOR) \ + { \ + if ((flag_pic && RELOC) \ + || ! TREE_READONLY (DECL) || TREE_SIDE_EFFECTS (DECL) \ + || ! TREE_CONSTANT (DECL)) \ + { \ + int size = int_size_in_bytes (TREE_TYPE (DECL)); \ + if (size >= 0 && size <= g_switch_value) \ + sdata_section (); \ + else \ + data_section (); \ + } \ + else \ + const_section (); \ + } \ else \ const_section (); \ } -- 2.30.2