aboutsummaryrefslogtreecommitdiff
path: root/gcc/target.h
diff options
context:
space:
mode:
authorMike Stump <mrs@apple.com>2007-03-06 00:48:47 +0000
committerMike Stump <mrs@gcc.gnu.org>2007-03-06 00:48:47 +0000
commit1f1d51306154bf6a354ff988868d3183022011c0 (patch)
tree926625ccb9f896a1998fbb4c463fe5a2b9ccaf39 /gcc/target.h
parent201141278667c89ad246224f65e70764e58e819f (diff)
downloadgcc-1f1d51306154bf6a354ff988868d3183022011c0.zip
gcc-1f1d51306154bf6a354ff988868d3183022011c0.tar.gz
gcc-1f1d51306154bf6a354ff988868d3183022011c0.tar.bz2
c-common.c (targetcm): Add.
* c-common.c (targetcm): Add. * c-opts.c (c_common_handle_option): Handle language specific target options. * opts.c (handle_option): Verify language for target options, if any are given. * opth-gen.awk: Add CL_LANG_ALL. * target-def.h (TARGET_HANDLE_C_OPTION): Add. (TARGETCM_INITIALIZER): Add. * target.h (struct gcc_targetcm): Add. (targetcm): Add. * targhooks.c (default_handle_c_option): Add. * targhooks.h (default_handle_c_option): Add. * doc/tm.texi (TARGET_HANDLE_C_OPTION): Add. * config/darwin.opt (iframework): Add. * config/darwin.h (TARGET_HAS_TARGETCM): Add. * config/darwin-c.c (handle_c_option): Add. (TARGET_HANDLE_C_OPTION): Add. (targetcm): Add. * doc/invoke.texi (Darwin Options): Add -iframework. From-SVN: r122590
Diffstat (limited to 'gcc/target.h')
-rw-r--r--gcc/target.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/gcc/target.h b/gcc/target.h
index d312c9f..029d183 100644
--- a/gcc/target.h
+++ b/gcc/target.h
@@ -892,4 +892,16 @@ struct gcc_target
extern struct gcc_target targetm;
+struct gcc_targetcm {
+ /* Handle target switch CODE (an OPT_* value). ARG is the argument
+ passed to the switch; it is NULL if no argument was. VALUE is the
+ value of ARG if CODE specifies a UInteger option, otherwise it is
+ 1 if the positive form of the switch was used and 0 if the negative
+ form was. Return true if the switch was valid. */
+ bool (*handle_c_option) (size_t code, const char *arg, int value);
+};
+
+/* Each target can provide their own. */
+extern struct gcc_targetcm targetcm;
+
#endif /* GCC_TARGET_H */