elf.h (SELECT_SECTION): Mirror Kenner's May 19 change to config/elfos.h.
authorRichard Henderson <rth@cygnus.com>
Sun, 28 May 2000 02:21:54 +0000 (19:21 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Sun, 28 May 2000 02:21:54 +0000 (19:21 -0700)
        * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
        change to config/elfos.h.

From-SVN: r34221

gcc/ChangeLog
gcc/config/alpha/elf.h

index bed3c0399a908904057071fe359b7afc192fceac..461423fcdf475d5fbe017392b4376b5768b06999 100644 (file)
@@ -1,3 +1,8 @@
+2000-05-27  Richard Henderson  <rth@cygnus.com>
+
+       * config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
+       change to config/elfos.h.
+
 2000-05-27  Richard Henderson  <rth@cygnus.com>
 
        * Makefile.in (resource.o): Depend on except.h.
index 296359796f40bec67c002d45cb79417418479a0b..7fad44621ddfd37fb031ae062fc03b5bf651c6b0 100644 (file)
@@ -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 ();                                                  \
 }