summaryrefslogtreecommitdiff
path: root/gcc/c-opts.c
diff options
context:
space:
mode:
authormrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-06 00:48:47 +0000
committermrs <mrs@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-06 00:48:47 +0000
commitb9fc964a00ea1c9cbcc1b6ac7ca39cbf550a77b7 (patch)
tree926625ccb9f896a1998fbb4c463fe5a2b9ccaf39 /gcc/c-opts.c
parentb3487c3a5d9f1742cb449bbc85c2134d6ffab5c0 (diff)
downloadgcc-b9fc964a00ea1c9cbcc1b6ac7ca39cbf550a77b7.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122590 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/c-opts.c')
-rw-r--r--gcc/c-opts.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gcc/c-opts.c b/gcc/c-opts.c
index 11dcf0a0bde..bddbaad9d7f 100644
--- a/gcc/c-opts.c
+++ b/gcc/c-opts.c
@@ -39,6 +39,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
#include "opts.h"
#include "options.h"
#include "mkdeps.h"
+#include "target.h"
#ifndef DOLLARS_IN_IDENTIFIERS
# define DOLLARS_IN_IDENTIFIERS true
@@ -278,7 +279,12 @@ c_common_handle_option (size_t scode, const char *arg, int value)
{
default:
if (cl_options[code].flags & (CL_C | CL_CXX | CL_ObjC | CL_ObjCXX))
- break;
+ {
+ if ((option->flags & CL_TARGET)
+ && ! targetcm.handle_c_option (scode, arg, value))
+ result = 0;
+ break;
+ }
#ifdef CL_Fortran
if (lang_fortran && (cl_options[code].flags & (CL_Fortran)))
break;