OSDN Git Service

* config/alpha/elf.h (SELECT_SECTION): Mirror Kenner's May 19
authorrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 28 May 2000 02:21:54 +0000 (02:21 +0000)
committerrth <rth@138bc75d-0d04-0410-961f-82ee72b054a4>
Sun, 28 May 2000 02:21:54 +0000 (02:21 +0000)
        change to config/elfos.h.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@34221 138bc75d-0d04-0410-961f-82ee72b054a4

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

index bed3c03..461423f 100644 (file)
@@ -1,5 +1,10 @@
 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.
        * except.h (output_exception_table_data): Prototype.
        * genconfig.c (gen_peephole2): Prototype.
index 2963597..7fad446 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 ();                                                  \
 }