OSDN Git Service

* hooks.c (hook_tree_bool_false): New.
[pf3gnuchains/gcc-fork.git] / gcc / config / nextstep.h
index 850f0e6..b96e365 100644 (file)
@@ -1,7 +1,7 @@
 /* Operating system specific defines to be used when targeting GCC
    for NeXTSTEP.
    Copyright (C) 1989, 1990, 1991, 1992, 1993, 1996, 1997,
-   1999 Free Software Foundation, Inc.
+   1999, 2002 Free Software Foundation, Inc.
 
 This file is part of GNU CC.
 
@@ -442,123 +442,8 @@ objc_section_init ()                              \
 #undef READONLY_DATA_SECTION
 #define READONLY_DATA_SECTION const_section
 
-#undef SELECT_SECTION
-#define SELECT_SECTION(exp,reloc,align)                                \
-  do                                                           \
-    {                                                          \
-      if (TREE_CODE (exp) == STRING_CST)                       \
-       {                                                       \
-         if (flag_writable_strings)                            \
-           data_section ();                                    \
-         else if (TREE_STRING_LENGTH (exp) !=                  \
-                  strlen (TREE_STRING_POINTER (exp)) + 1)      \
-           readonly_data_section ();                           \
-         else                                                  \
-           cstring_section ();                                 \
-       }                                                       \
-      else if (TREE_CODE (exp) == INTEGER_CST                  \
-              || TREE_CODE (exp) == REAL_CST)                  \
-        {                                                      \
-         tree size = TYPE_SIZE (TREE_TYPE (exp));              \
-                                                               \
-         if (TREE_CODE (size) == INTEGER_CST &&                \
-             TREE_INT_CST_LOW (size) == 4 &&                   \
-             TREE_INT_CST_HIGH (size) == 0)                    \
-           literal4_section ();                                \
-         else if (TREE_CODE (size) == INTEGER_CST &&           \
-             TREE_INT_CST_LOW (size) == 8 &&                   \
-             TREE_INT_CST_HIGH (size) == 0)                    \
-           literal8_section ();                                \
-         else                                                  \
-           readonly_data_section ();                           \
-       }                                                       \
-      else if (TREE_CODE (exp) == CONSTRUCTOR                          \
-              && TREE_TYPE (exp)                                       \
-              && TREE_CODE (TREE_TYPE (exp)) == RECORD_TYPE            \
-              && TYPE_NAME (TREE_TYPE (exp))                           \
-              && TREE_CODE (TYPE_NAME (TREE_TYPE (exp))) == IDENTIFIER_NODE \
-              && IDENTIFIER_POINTER (TYPE_NAME (TREE_TYPE (exp))))     \
-       {                                                               \
-         if (!strcmp (IDENTIFIER_POINTER (TYPE_NAME (TREE_TYPE (exp))), \
-                       "NXConstantString"))                            \
-         objc_string_object_section ();                                \
-       else if ((TREE_READONLY (exp) || TREE_CONSTANT (exp))           \
-               && !TREE_SIDE_EFFECTS (exp))                            \
-         readonly_data_section ();                                     \
-       else                                                            \
-         data_section ();                                              \
-      }                                                                        \
-      else if (TREE_CODE (exp) == VAR_DECL &&                          \
-              DECL_NAME (exp) &&                                       \
-              TREE_CODE (DECL_NAME (exp)) == IDENTIFIER_NODE &&        \
-              IDENTIFIER_POINTER (DECL_NAME (exp)) &&                  \
-              !strncmp (IDENTIFIER_POINTER (DECL_NAME (exp)), "_OBJC_", 6)) \
-       {                                                               \
-         const char *name = IDENTIFIER_POINTER (DECL_NAME (exp));      \
-                                                                       \
-         if (!strncmp (name, "_OBJC_CLASS_METHODS_", 20))              \
-           objc_cls_meth_section ();                                   \
-         else if (!strncmp (name, "_OBJC_INSTANCE_METHODS_", 23))      \
-           objc_inst_meth_section ();                                  \
-         else if (!strncmp (name, "_OBJC_CATEGORY_CLASS_METHODS_", 20)) \
-           objc_cat_cls_meth_section ();                               \
-         else if (!strncmp (name, "_OBJC_CATEGORY_INSTANCE_METHODS_", 23)) \
-           objc_cat_inst_meth_section ();                              \
-         else if (!strncmp (name, "_OBJC_CLASS_VARIABLES_", 22))       \
-           objc_class_vars_section ();                                 \
-         else if (!strncmp (name, "_OBJC_INSTANCE_VARIABLES_", 25))    \
-           objc_instance_vars_section ();                              \
-         else if (!strncmp (name, "_OBJC_CLASS_PROTOCOLS_", 22))       \
-           objc_cat_cls_meth_section ();                               \
-         else if (!strncmp (name, "_OBJC_CLASS_NAME_", 17))            \
-           objc_class_names_section ();                                \
-         else if (!strncmp (name, "_OBJC_METH_VAR_NAME_", 20))         \
-           objc_meth_var_names_section ();                             \
-         else if (!strncmp (name, "_OBJC_METH_VAR_TYPE_", 20))         \
-           objc_meth_var_types_section ();                             \
-         else if (!strncmp (name, "_OBJC_CLASS_REFERENCES", 22))       \
-           objc_cls_refs_section ();                                   \
-         else if (!strncmp (name, "_OBJC_CLASS_", 12))                 \
-           objc_class_section ();                                      \
-         else if (!strncmp (name, "_OBJC_METACLASS_", 16))             \
-           objc_meta_class_section ();                                 \
-         else if (!strncmp (name, "_OBJC_CATEGORY_", 15))              \
-           objc_category_section ();                                   \
-         else if (!strncmp (name, "_OBJC_SELECTOR_REFERENCES", 25))    \
-           objc_selector_refs_section ();                              \
-         else if (!strncmp (name, "_OBJC_SYMBOLS", 13))                \
-           objc_symbols_section ();                                    \
-         else if (!strncmp (name, "_OBJC_MODULES", 13))                \
-           objc_module_info_section ();                                \
-         else if (!strncmp (name, "_OBJC_PROTOCOL_INSTANCE_METHODS_", 32)) \
-           objc_cat_inst_meth_section ();                              \
-         else if (!strncmp (name, "_OBJC_PROTOCOL_CLASS_METHODS_", 29)) \
-           objc_cat_cls_meth_section ();                               \
-         else if (!strncmp (name, "_OBJC_PROTOCOL_REFS_", 20))         \
-           objc_cat_cls_meth_section ();                               \
-         else if (!strncmp (name, "_OBJC_PROTOCOL_", 15))              \
-           objc_protocol_section ();                                   \
-         else if ((TREE_READONLY (exp) || TREE_CONSTANT (exp))         \
-               && !TREE_SIDE_EFFECTS (exp))                            \
-           readonly_data_section ();                                   \
-         else                                                          \
-           data_section ();                                            \
-       }                                                               \
-      else if (TREE_CODE (exp) == VAR_DECL)                            \
-       {                                                               \
-         if ((flag_pic && reloc)                                       \
-             || !TREE_READONLY (exp) || TREE_SIDE_EFFECTS (exp)        \
-             || !DECL_INITIAL (exp)                                    \
-             || (DECL_INITIAL (exp) != error_mark_node                 \
-                 && !TREE_CONSTANT (DECL_INITIAL (exp))))              \
-           data_section ();                                            \
-         else                                                          \
-           readonly_data_section ();                                   \
-       }                                                               \
-      else                                                             \
-       readonly_data_section ();                                       \
-    }                                                                  \
-  while (0)
+#undef TARGET_ASM_SELECT_SECTION
+#define TARGET_ASM_SELECT_SECTION nextstep_select_section
 
 #undef SELECT_RTX_SECTION
 #define SELECT_RTX_SECTION(mode, rtx, align)                           \