OSDN Git Service

PR middle-end/20219
[pf3gnuchains/gcc-fork.git] / gcc / target-def.h
index 6f8470e..90dc55c 100644 (file)
@@ -126,12 +126,14 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #define TARGET_ASM_OUTPUT_MI_THUNK NULL
 #define TARGET_ASM_CAN_OUTPUT_MI_THUNK hook_bool_tree_hwi_hwi_tree_false
 
-#if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR)
-#define TARGET_HAVE_CTORS_DTORS true
-#else
-#define TARGET_HAVE_CTORS_DTORS false
-#define TARGET_ASM_CONSTRUCTOR NULL
-#define TARGET_ASM_DESTRUCTOR NULL
+#if !defined(TARGET_HAVE_CTORS_DTORS)
+# if defined(TARGET_ASM_CONSTRUCTOR) && defined(TARGET_ASM_DESTRUCTOR)
+# define TARGET_HAVE_CTORS_DTORS true
+# else
+# define TARGET_HAVE_CTORS_DTORS false
+# define TARGET_ASM_CONSTRUCTOR NULL
+# define TARGET_ASM_DESTRUCTOR NULL
+# endif
 #endif
 
 #ifdef TARGET_ASM_NAMED_SECTION
@@ -145,6 +147,10 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #define TARGET_INVALID_WITHIN_DOLOOP default_invalid_within_doloop
 #endif
 
+#ifndef TARGET_VALID_DLLIMPORT_ATTRIBUTE_P
+#define TARGET_VALID_DLLIMPORT_ATTRIBUTE_P hook_bool_tree_true
+#endif
+
 #ifndef TARGET_HAVE_TLS
 #define TARGET_HAVE_TLS false
 #endif
@@ -438,6 +444,9 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #define TARGET_CALLEE_COPIES hook_bool_CUMULATIVE_ARGS_mode_tree_bool_false
 #define TARGET_ARG_PARTIAL_BYTES hook_int_CUMULATIVE_ARGS_mode_tree_bool_0
 
+#define TARGET_FUNCTION_VALUE default_function_value
+#define TARGET_INTERNAL_ARG_POINTER default_internal_arg_pointer
+
 #define TARGET_CALLS {                                         \
    TARGET_PROMOTE_FUNCTION_ARGS,                               \
    TARGET_PROMOTE_FUNCTION_RETURN,                             \
@@ -454,7 +463,9 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
    TARGET_MUST_PASS_IN_STACK,                                  \
    TARGET_CALLEE_COPIES,                                       \
    TARGET_ARG_PARTIAL_BYTES,                                   \
-   TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN                      \
+   TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN,                     \
+   TARGET_FUNCTION_VALUE,                                      \
+   TARGET_INTERNAL_ARG_POINTER                                 \
    }
 
 #ifndef TARGET_UNWIND_TABLES_DEFAULT
@@ -469,6 +480,10 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #define TARGET_HANDLE_PRAGMA_EXTERN_PREFIX 0
 #endif
 
+#ifndef TARGET_SECONDARY_RELOAD
+#define TARGET_SECONDARY_RELOAD default_secondary_reload
+#endif
+
 
 /* C++ specific.  */
 #ifndef TARGET_CXX_GUARD_TYPE
@@ -511,6 +526,10 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
 #define TARGET_CXX_USE_AEABI_ATEXIT hook_bool_void_false
 #endif
 
+#ifndef TARGET_CXX_ADJUST_CLASS_AT_DEFINITION
+#define TARGET_CXX_ADJUST_CLASS_AT_DEFINITION hook_void_tree
+#endif
+
 #define TARGET_CXX                             \
   {                                            \
     TARGET_CXX_GUARD_TYPE,                     \
@@ -523,6 +542,7 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
     TARGET_CXX_DETERMINE_CLASS_DATA_VISIBILITY,        \
     TARGET_CXX_CLASS_DATA_ALWAYS_COMDAT,        \
     TARGET_CXX_USE_AEABI_ATEXIT,               \
+    TARGET_CXX_ADJUST_CLASS_AT_DEFINITION      \
   }
 
 /* The whole shebang.  */
@@ -588,10 +608,12 @@ Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
   TARGET_STACK_PROTECT_GUARD,                  \
   TARGET_STACK_PROTECT_FAIL,                   \
   TARGET_INVALID_WITHIN_DOLOOP,                        \
+  TARGET_VALID_DLLIMPORT_ATTRIBUTE_P,          \
   TARGET_CALLS,                                        \
   TARGET_INVALID_CONVERSION,                   \
   TARGET_INVALID_UNARY_OP,                     \
   TARGET_INVALID_BINARY_OP,                    \
+  TARGET_SECONDARY_RELOAD,                     \
   TARGET_CXX,                                  \
   TARGET_UNWIND_TABLES_DEFAULT,                        \
   TARGET_HAVE_NAMED_SECTIONS,                  \