OSDN Git Service

In gcc/objc/:
[pf3gnuchains/gcc-fork.git] / gcc / opts.c
index 49c91a4..40e6acd 100644 (file)
@@ -1086,6 +1086,20 @@ decode_options (unsigned int argc, const char **argv,
      check option consistency.  */
   if (flag_lto && flag_whopr)
     error ("-flto and -fwhopr are mutually exclusive");
+
+  /* We initialize flag_split_stack to -1 so that targets can set a
+     default value if they choose based on other options.  */
+  if (flag_split_stack == -1)
+    flag_split_stack = 0;
+  else
+    {
+      if (!targetm.supports_split_stack (true))
+       {
+         error ("%<-fsplit-stack%> is not supported by "
+                "this compiler configuration");
+         flag_split_stack = 0;
+       }
+    }
 }
 
 #define LEFT_COLUMN    27
@@ -1429,7 +1443,6 @@ common_handle_option (const struct cl_decoded_option *decoded,
       verbose = true;
       break;
 
-    case OPT_fhelp:
     case OPT__help:
       {
        unsigned int all_langs_mask = (1U << cl_lang_count) - 1;
@@ -1451,7 +1464,6 @@ common_handle_option (const struct cl_decoded_option *decoded,
        break;
       }
 
-    case OPT_ftarget_help:
     case OPT__target_help:
       print_specific_help (CL_TARGET, CL_UNDOCUMENTED, 0);
       exit_after_options = true;
@@ -1461,7 +1473,6 @@ common_handle_option (const struct cl_decoded_option *decoded,
        targetm.help ();
       break;
 
-    case OPT_fhelp_:
     case OPT__help_:
       {
        const char * a = arg;
@@ -1580,7 +1591,6 @@ common_handle_option (const struct cl_decoded_option *decoded,
        break;
       }
 
-    case OPT_fversion:
     case OPT__version:
       exit_after_options = true;
       break;