OSDN Git Service

Merge remote-tracking branch 'gnu/gcc-4_7-branch' into rework
[pf3gnuchains/gcc-fork.git] / gcc / common / common-target.def
diff --git a/gcc/common/common-target.def b/gcc/common/common-target.def
new file mode 100644 (file)
index 0000000..85edff1
--- /dev/null
@@ -0,0 +1,108 @@
+/* Target hook definitions for common hooks.
+   Copyright (C) 2011
+   Free Software Foundation, Inc.
+
+   This program is free software; you can redistribute it and/or modify it
+   under the terms of the GNU General Public License as published by the
+   Free Software Foundation; either version 3, or (at your option) any
+   later version.
+
+   This program is distributed in the hope that it will be useful,
+   but WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program; see the file COPYING3.  If not see
+   <http://www.gnu.org/licenses/>.  */
+
+/* See target-hooks-macros.h for details of macros that should be
+   provided by the including file, and how to use them here.  */
+#include "target-hooks-macros.h"
+
+#undef HOOK_TYPE
+#define HOOK_TYPE "Common Target Hook"
+
+HOOK_VECTOR (TARGETM_COMMON_INITIALIZER, gcc_targetm_common)
+
+#undef HOOK_PREFIX
+#define HOOK_PREFIX "TARGET_"
+
+/* Handle target switch DECODED for options structures OPTS and
+   OPTS_SET, at location LOC.  Return true if the switch was valid.  */
+DEFHOOK
+(handle_option,
+ "",
+ bool, (struct gcc_options *opts, struct gcc_options *opts_set,
+       const struct cl_decoded_option *decoded,
+       location_t loc),
+ default_target_handle_option)
+
+DEFHOOK
+(option_init_struct,
+"Set target-dependent initial values of fields in @var{opts}.",
+ void, (struct gcc_options *opts),
+ hook_void_gcc_optionsp)
+
+/* Set default optimizations for the target.  */
+DEFHOOKPOD
+(option_optimization_table,
+ "",
+ const struct default_options *, empty_optimization_table)
+
+DEFHOOK
+(option_default_params,
+"Set target-dependent default values for @option{--param} settings, using\
+ calls to @code{set_default_param_value}.",
+ void, (void),
+ hook_void_void)
+
+/* The initial value of target_flags.  */
+DEFHOOKPOD
+(default_target_flags,
+ "",
+ int, 0)
+
+/* Determine the type of unwind info to emit for exceptions.  */
+DEFHOOK
+(except_unwind_info,
+ "",
+ enum unwind_info_type, (struct gcc_options *opts),
+ default_except_unwind_info)
+
+DEFHOOK
+(supports_split_stack,
+ "Whether this target supports splitting the stack when the options\
+ described in @var{opts} have been passed.  This is called\
+ after options have been parsed, so the target may reject splitting\
+ the stack in some configurations.  The default version of this hook\
+ returns false.  If @var{report} is true, this function may issue a warning\
+ or error; if @var{report} is false, it must simply return a value",
+ bool, (bool report, struct gcc_options *opts),
+ hook_bool_bool_gcc_optionsp_false)
+
+/* Leave the boolean fields at the end.  */
+
+/* True if unwinding tables should be generated by default.  */
+DEFHOOKPOD
+(unwind_tables_default,
+ "",
+ bool, false)
+
+/* True if arbitrary sections are supported.  */
+DEFHOOKPOD
+(have_named_sections,
+ "",
+ bool, true)
+
+DEFHOOKPOD
+(always_strip_dotdot,
+ "True if @file{..} components should always be removed from directory names\
+ computed relative to GCC's internal directories, false (default) if such\
+ components should be preserved and directory names containing them passed\
+ to other tools such as the linker.",
+ bool, false)
+HOOK_VECTOR_END (C90_EMPTY_HACK)
+
+#undef HOOK_PREFIX