aboutsummaryrefslogtreecommitdiff
path: root/gcc/c-opts.c
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/c-opts.c
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/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 11dcf0a..bddbaad 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;