This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

More -f switches in opts.c


Bootstrapped C, C++ and ObjC on x86 NetBSD with no regressions.

I need to fix the option decoder; I think it can still get options
beginning with -g and -ffixed- wrong.

Neil.

	* common.opt: New switches.
	* opts.c: Include diagnostic.h.
	(common_handle_option): Handle new switches.
	* toplev.c (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
	flag_if_conversion2, flag_delete_null_pointer_checks,
	flag_rerun_cse_after_loop): Make extern.
	(flag_dummy): New.
	(f_options): Update to use flag_dummy for moved options.
	(decode_f_option): Some switches moved to opts.c.
	* toplev.h (flag_loop_optimize, flag_crossjumping, flag_if_conversion,
	flag_if_conversion2, flag_delete_null_pointer_checks,
	flag_rerun_cse_after_loop, flag_keep_static_consts, flag_peel_loops,
	flag_tracer, flag_thread_jumps, flag_unroll_loops,
	flag_unroll_all_loops, flag_unswitch_loops): New.
f:
	* lang.opt: Add -fpreprocessed.
	* top.c (ffe_handle_option): Handle it.

Index: common.opt
===================================================================
RCS file: /cvs/gcc/gcc/gcc/common.opt,v
retrieving revision 1.6
diff -u -p -r1.6 common.opt
--- common.opt	21 Jun 2003 15:59:30 -0000	1.6
+++ common.opt	21 Jun 2003 17:54:22 -0000
@@ -151,26 +151,197 @@ Common RejectNegative Joined UInteger
 falign-loops=
 Common RejectNegative Joined UInteger
 
+fbranch-target-load-optimize
+Common
+
+fbranch-target-load-optimize2
+Common
+
 fcall-saved-
 Common Joined RejectNegative
 
 fcall-used-
 Common Joined RejectNegative
 
+fcaller-saves
+Common
+
+fcrossjumping
+Common
+
+fcse-follow-jumps
+Common
+
+fcse-skip-blocks
+Common
+
+fdefer-pop
+Common
+
+fdelayed-branch
+Common
+
+fdelete-null-pointer-checks
+Common
+
+fdiagnostics-show-location=
+Common Joined RejectNegative
+
+feliminate-dwarf2-dups
+Common
+
+feliminate-unused-debug-types
+Common
+
+fexpensive-optimizations
+Common
+
 ffast-math
 Common
 
 ffixed-
 Common Joined RejectNegative
 
+ffloat-store
+Common
+
+fforce-addr
+Common
+
+fforce-mem
+Common
+
+ffunction-cse
+Common
+
+fgcse
+Common
+
+fgcse-lm
+Common
+
+fgcse-sm
+Common
+
+fif-conversion
+Common
+
+fif-conversion2
+Common
+
+finline
+Common
+
+finline-functions
+Common
+
+fkeep-inline-functions
+Common
+
+fkeep-static-consts
+Common
+
+floop-optimize
+Common
+
+fmessage-length=
+Common RejectNegative Joined UInteger
+
+fmove-all-movables
+Common
+
+fold-unroll-loops
+Common
+
+fold-unroll-all-loops
+Common
+
+fomit-frame-pointer
+Common
+
+foptimize-sibling-calls
+Common
+
+fpcc-struct-return
+Common
+
+fpeel-loops
+Common
+
+fpeephole
+Common
+
+fprefetch-loop-arrays
+Common
+
+frandom-seed
+Common
+
+frandom-seed=
+Common Joined RejectNegative
+
+freduce-all-givs
+Common
+
+freg-struct-return
+Common
+
+frerun-cse-after-loop
+Common
+
+frerun-loop-opt
+Common
+
+fsched-verbose=
+Common RejectNegative Joined
+
+fschedule-insns
+Common
+
+fschedule-insns2
+Common
+
+fshared-data
+Common
+
+fstack-limit
+Common
+
 fstack-limit-register=
 Common RejectNegative Joined
 
 fstack-limit-symbol=
 Common RejectNegative Joined
 
+fstrength-reduce
+Common
+
+fsyntax-only
+Common
+
+fthread-jumps
+Common
+
 ftls-model=
 Common Joined RejectNegative
+
+ftracer
+Common
+
+funit-at-a-time
+Common
+
+funroll-loops
+Common
+
+funroll-all-loops
+Common
+
+funswitch-loops
+Common
+
+fwritable-strings
+Common
 
 g
 Common JoinedOrMissing
Index: opts.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/opts.c,v
retrieving revision 1.10
diff -u -p -r1.10 opts.c
--- opts.c	21 Jun 2003 15:59:30 -0000	1.10
+++ opts.c	21 Jun 2003 17:54:22 -0000
@@ -33,6 +33,7 @@ Software Foundation, 59 Temple Place - S
 #include "flags.h"
 #include "toplev.h"
 #include "params.h"
+#include "diagnostic.h"
 
 /* Value of the -G xx switch, and whether it was passed or not.  */
 unsigned HOST_WIDE_INT g_switch_value;
@@ -537,6 +538,14 @@ common_handle_option (size_t scode, cons
       align_loops = value;
       break;
 
+    case OPT_fbranch_target_load_optimize:
+      flag_branch_target_load_optimize = value;
+      break;
+
+    case OPT_fbranch_target_load_optimize2:
+      flag_branch_target_load_optimize2 = value;
+      break;
+
     case OPT_fcall_used_:
       fix_register (arg, 0, 1);
       break;
@@ -545,6 +554,56 @@ common_handle_option (size_t scode, cons
       fix_register (arg, 0, 0);
       break;
 
+    case OPT_fcaller_saves:
+      flag_caller_saves = value;
+      break;
+
+    case OPT_fcrossjumping:
+      flag_crossjumping = value;
+      break;
+
+    case OPT_fcse_follow_jumps:
+      flag_cse_follow_jumps = value;
+      break;
+
+    case OPT_fcse_skip_blocks:
+      flag_cse_skip_blocks = value;
+      break;
+
+    case OPT_fdefer_pop:
+      flag_defer_pop = value;
+      break;
+
+    case OPT_fdelayed_branch:
+      flag_delayed_branch = value;
+      break;
+
+    case OPT_fdelete_null_pointer_checks:
+      flag_delete_null_pointer_checks = value;
+      break;
+
+    case OPT_fdiagnostics_show_location_:
+      if (!strcmp (arg, "once"))
+	diagnostic_prefixing_rule (global_dc) = DIAGNOSTICS_SHOW_PREFIX_ONCE;
+      else if (!strcmp (arg, "every-line"))
+	diagnostic_prefixing_rule (global_dc)
+	  = DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE;
+      else
+	return 0;
+      break;
+
+    case OPT_feliminate_dwarf2_dups:
+      flag_eliminate_dwarf2_dups = value;
+      break;
+
+    case OPT_feliminate_unused_debug_types:
+      flag_eliminate_unused_debug_types = value;
+      break;
+
+    case OPT_fexpensive_optimizations:
+      flag_expensive_optimizations = value;
+      break;
+
     case OPT_ffast_math:
       set_fast_math_flags (value);
       break;
@@ -553,6 +612,156 @@ common_handle_option (size_t scode, cons
       fix_register (arg, 1, 1);
       break;
 
+    case OPT_ffunction_cse:
+      flag_no_function_cse = !value;
+      break;
+
+    case OPT_ffloat_store:
+      flag_float_store = value;
+      break;
+
+    case OPT_fforce_addr:
+      flag_force_addr = value;
+      break;
+
+    case OPT_fforce_mem:
+      flag_force_mem = value;
+      break;
+
+    case OPT_fgcse:
+      flag_gcse = value;
+      break;
+
+    case OPT_fgcse_lm:
+      flag_gcse_lm = value;
+      break;
+
+    case OPT_fgcse_sm:
+      flag_gcse_sm = value;
+      break;
+
+    case OPT_fif_conversion:
+      flag_if_conversion = value;
+      break;
+
+    case OPT_fif_conversion2:
+      flag_if_conversion2 = value;
+      break;
+
+    case OPT_finline:
+      flag_no_inline = !value;
+      break;
+
+    case OPT_finline_functions:
+      flag_inline_functions = value;
+      break;
+
+    case OPT_fkeep_inline_functions:
+      flag_keep_inline_functions =value;
+      break;
+
+    case OPT_fkeep_static_consts:
+      flag_keep_static_consts = value;
+      break;
+
+    case OPT_floop_optimize:
+      flag_loop_optimize = value;
+      break;
+
+    case OPT_fmessage_length_:
+      output_set_maximum_length (&global_dc->buffer, value);
+      break;
+
+    case OPT_fmove_all_movables:
+      flag_move_all_movables = value;
+      break;
+
+    case OPT_fold_unroll_all_loops:
+      flag_old_unroll_all_loops = value;
+      break;
+
+    case OPT_fold_unroll_loops:
+      flag_old_unroll_loops = value;
+      break;
+
+    case OPT_fomit_frame_pointer:
+      flag_omit_frame_pointer = value;
+      break;
+
+    case OPT_foptimize_sibling_calls:
+      flag_optimize_sibling_calls = value;
+      break;
+
+    case OPT_fpeel_loops:
+      flag_peel_loops = value;
+      break;
+
+    case OPT_fpcc_struct_return:
+      flag_pcc_struct_return = value;
+      break;
+
+    case OPT_fpeephole:
+      flag_no_peephole = !value;
+      break;
+
+    case OPT_fprefetch_loop_arrays:
+      flag_prefetch_loop_arrays = value;
+      break;
+
+    case OPT_frandom_seed:
+      /* The real switch is -fno-random-seed.  */
+      if (value)
+	return 0;
+      flag_random_seed = NULL;
+      break;
+
+    case OPT_frandom_seed_:
+      flag_random_seed = arg;
+      break;
+
+    case OPT_freduce_all_givs:
+      flag_reduce_all_givs = value;
+      break;
+
+    case OPT_freg_struct_return:
+      flag_pcc_struct_return = !value;
+      break;
+
+    case OPT_frerun_cse_after_loop:
+      flag_rerun_cse_after_loop = value;
+      break;
+
+    case OPT_frerun_loop_opt:
+      flag_rerun_loop_opt = value;
+      break;
+
+    case OPT_fsched_verbose_:
+#ifdef INSN_SCHEDULING
+      fix_sched_param ("verbose", arg);
+      break;
+#else
+      return 0;
+#endif
+
+    case OPT_fschedule_insns:
+      flag_schedule_insns = value;
+      break;
+
+    case OPT_fschedule_insns2:
+      flag_schedule_insns_after_reload = value;
+      break;
+
+    case OPT_fshared_data:
+      flag_shared_data = value;
+      break;
+
+    case OPT_fstack_limit:
+      /* The real switch is -fno-stack-limit.  */
+      if (value)
+	return 0;
+      stack_limit_rtx = NULL_RTX;
+      break;
+
     case OPT_fstack_limit_register_:
       {
 	int reg = decode_reg_name (arg);
@@ -567,6 +776,18 @@ common_handle_option (size_t scode, cons
       stack_limit_rtx = gen_rtx_SYMBOL_REF (Pmode, ggc_strdup (arg));
       break;
 
+    case OPT_fstrength_reduce:
+      flag_strength_reduce = value;
+      break;
+
+    case OPT_fsyntax_only:
+      flag_syntax_only = value;
+      break;
+
+    case OPT_fthread_jumps:
+      flag_thread_jumps = value;
+      break;
+
     case OPT_ftls_model_:
       if (!strcmp (arg, "global-dynamic"))
 	flag_tls_default = TLS_MODEL_GLOBAL_DYNAMIC;
@@ -578,6 +799,30 @@ common_handle_option (size_t scode, cons
 	flag_tls_default = TLS_MODEL_LOCAL_EXEC;
       else
 	warning ("unknown tls-model \"%s\"", arg);
+      break;
+
+    case OPT_ftracer:
+      flag_tracer = value;
+      break;
+
+    case OPT_funit_at_a_time:
+      flag_unit_at_a_time = value;
+      break;
+
+    case OPT_funroll_all_loops:
+      flag_unroll_all_loops = value;
+      break;
+
+    case OPT_funroll_loops:
+      flag_unroll_loops = value;
+      break;
+
+    case OPT_funswitch_loops:
+      flag_unswitch_loops = value;
+      break;
+
+    case OPT_fwritable_strings:
+      flag_writable_strings = value;
       break;
 
     case OPT_g:
Index: toplev.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/toplev.c,v
retrieving revision 1.781
diff -u -p -r1.781 toplev.c
--- toplev.c	21 Jun 2003 15:59:30 -0000	1.781
+++ toplev.c	21 Jun 2003 17:54:23 -0000
@@ -654,24 +654,24 @@ int flag_syntax_only = 0;
 
 /* Nonzero means perform loop optimizer.  */
 
-static int flag_loop_optimize;
+int flag_loop_optimize;
 
 /* Nonzero means perform crossjumping.  */
 
-static int flag_crossjumping;
+int flag_crossjumping;
 
 /* Nonzero means perform if conversion.  */
 
-static int flag_if_conversion;
+int flag_if_conversion;
 
 /* Nonzero means perform if conversion after reload.  */
 
-static int flag_if_conversion2;
+int flag_if_conversion2;
 
 /* Nonzero means to use global dataflow analysis to eliminate
    useless null pointer tests.  */
 
-static int flag_delete_null_pointer_checks;
+int flag_delete_null_pointer_checks;
 
 /* Nonzero means perform global CSE.  */
 
@@ -702,7 +702,7 @@ int flag_branch_target_load_optimize2 = 
 /* Nonzero means to rerun cse after loop optimization.  This increases
    compilation time about 20% and picks up a few more common expressions.  */
 
-static int flag_rerun_cse_after_loop;
+int flag_rerun_cse_after_loop;
 
 /* Nonzero means to run loop optimizations twice.  */
 
@@ -1040,6 +1040,9 @@ static const param_info lang_independent
   { NULL, 0, NULL }
 };
 
+/* Used for the f_options array temporarily.  */
+static int flag_dummy;
+
 /* Table of language-independent -f options.
    STRING is the option name.  VARIABLE is the address of the variable.
    ON_VALUE is the value to store in VARIABLE
@@ -1048,107 +1051,107 @@ static const param_info lang_independent
 
 static const lang_independent_options f_options[] =
 {
-  {"eliminate-dwarf2-dups", &flag_eliminate_dwarf2_dups, 1,
+  {"eliminate-dwarf2-dups", &flag_dummy, 1,
    N_("Perform DWARF2 duplicate elimination") },
-  {"eliminate-unused-debug-types", &flag_eliminate_unused_debug_types, 1,
+  {"eliminate-unused-debug-types", &flag_dummy, 1,
    N_("Perform unused type elimination in debug info") },
-  {"float-store", &flag_float_store, 1,
+  {"float-store", &flag_dummy, 1,
    N_("Do not store floats in registers") },
-  {"defer-pop", &flag_defer_pop, 1,
+  {"defer-pop", &flag_dummy, 1,
    N_("Defer popping functions args from stack until later") },
-  {"omit-frame-pointer", &flag_omit_frame_pointer, 1,
+  {"omit-frame-pointer", &flag_dummy, 1,
    N_("When possible do not generate stack frames") },
-  {"optimize-sibling-calls", &flag_optimize_sibling_calls, 1,
+  {"optimize-sibling-calls", &flag_dummy, 1,
    N_("Optimize sibling and tail recursive calls") },
-  {"tracer", &flag_tracer, 1,
+  {"tracer", &flag_dummy, 1,
    N_("Perform superblock formation via tail duplication") },
-  {"unit-at-a-time", &flag_unit_at_a_time, 1,
+  {"unit-at-a-time", &flag_dummy, 1,
    N_("Compile whole compilation unit at a time") },
-  {"cse-follow-jumps", &flag_cse_follow_jumps, 1,
+  {"cse-follow-jumps", &flag_dummy, 1,
    N_("When running CSE, follow jumps to their targets") },
-  {"cse-skip-blocks", &flag_cse_skip_blocks, 1,
+  {"cse-skip-blocks", &flag_dummy, 1,
    N_("When running CSE, follow conditional jumps") },
-  {"expensive-optimizations", &flag_expensive_optimizations, 1,
+  {"expensive-optimizations", &flag_dummy, 1,
    N_("Perform a number of minor, expensive optimizations") },
-  {"thread-jumps", &flag_thread_jumps, 1,
+  {"thread-jumps", &flag_dummy, 1,
    N_("Perform jump threading optimizations") },
-  {"strength-reduce", &flag_strength_reduce, 1,
+  {"strength-reduce", &flag_dummy, 1,
    N_("Perform strength reduction optimizations") },
-  {"unroll-loops", &flag_unroll_loops, 1,
+  {"unroll-loops", &flag_dummy, 1,
    N_("Perform loop unrolling when iteration count is known") },
-  {"unroll-all-loops", &flag_unroll_all_loops, 1,
+  {"unroll-all-loops", &flag_dummy, 1,
    N_("Perform loop unrolling for all loops") },
-  {"old-unroll-loops", &flag_old_unroll_loops, 1,
+  {"old-unroll-loops", &flag_dummy, 1,
    N_("Perform loop unrolling when iteration count is known") },
-  {"old-unroll-all-loops", &flag_old_unroll_all_loops, 1,
+  {"old-unroll-all-loops", &flag_dummy, 1,
    N_("Perform loop unrolling for all loops") },
-  {"peel-loops", &flag_peel_loops, 1,
+  {"peel-loops", &flag_dummy, 1,
    N_("Perform loop peeling") },
-  {"unswitch-loops", &flag_unswitch_loops, 1,
+  {"unswitch-loops", &flag_dummy, 1,
    N_("Perform loop unswitching") },
-  {"prefetch-loop-arrays", &flag_prefetch_loop_arrays, 1,
+  {"prefetch-loop-arrays", &flag_dummy, 1,
    N_("Generate prefetch instructions, if available, for arrays in loops") },
-  {"move-all-movables", &flag_move_all_movables, 1,
+  {"move-all-movables", &flag_dummy, 1,
    N_("Force all loop invariant computations out of loops") },
-  {"reduce-all-givs", &flag_reduce_all_givs, 1,
+  {"reduce-all-givs", &flag_dummy, 1,
    N_("Strength reduce all loop general induction variables") },
-  {"writable-strings", &flag_writable_strings, 1,
+  {"writable-strings", &flag_dummy, 1,
    N_("Store strings in writable data section") },
-  {"peephole", &flag_no_peephole, 0,
+  {"peephole", &flag_dummy, 0,
    N_("Enable machine specific peephole optimizations") },
-  {"force-mem", &flag_force_mem, 1,
+  {"force-mem", &flag_dummy, 1,
    N_("Copy memory operands into registers before using") },
-  {"force-addr", &flag_force_addr, 1,
+  {"force-addr", &flag_dummy, 1,
    N_("Copy memory address constants into regs before using") },
-  {"function-cse", &flag_no_function_cse, 0,
+  {"function-cse", &flag_dummy, 0,
    N_("Allow function addresses to be held in registers") },
-  {"inline-functions", &flag_inline_functions, 1,
+  {"inline-functions", &flag_dummy, 1,
    N_("Integrate simple functions into their callers") },
-  {"keep-inline-functions", &flag_keep_inline_functions, 1,
+  {"keep-inline-functions", &flag_dummy, 1,
    N_("Generate code for funcs even if they are fully inlined") },
-  {"inline", &flag_no_inline, 0,
+  {"inline", &flag_dummy, 0,
    N_("Pay attention to the 'inline' keyword") },
-  {"keep-static-consts", &flag_keep_static_consts, 1,
+  {"keep-static-consts", &flag_dummy, 1,
    N_("Emit static const variables even if they are not used") },
-  {"syntax-only", &flag_syntax_only, 1,
+  {"syntax-only", &flag_dummy, 1,
    N_("Check for syntax errors, then stop") },
-  {"shared-data", &flag_shared_data, 1,
+  {"shared-data", &flag_dummy, 1,
    N_("Mark data as shared rather than private") },
-  {"caller-saves", &flag_caller_saves, 1,
+  {"caller-saves", &flag_dummy, 1,
    N_("Enable saving registers around function calls") },
-  {"pcc-struct-return", &flag_pcc_struct_return, 1,
+  {"pcc-struct-return", &flag_dummy, 1,
    N_("Return 'short' aggregates in memory, not registers") },
-  {"reg-struct-return", &flag_pcc_struct_return, 0,
+  {"reg-struct-return", &flag_dummy, 0,
    N_("Return 'short' aggregates in registers") },
-  {"delayed-branch", &flag_delayed_branch, 1,
+  {"delayed-branch", &flag_dummy, 1,
    N_("Attempt to fill delay slots of branch instructions") },
-  {"gcse", &flag_gcse, 1,
+  {"gcse", &flag_dummy, 1,
    N_("Perform the global common subexpression elimination") },
-  {"gcse-lm", &flag_gcse_lm, 1,
+  {"gcse-lm", &flag_dummy, 1,
    N_("Perform enhanced load motion during global subexpression elimination") },
-  {"gcse-sm", &flag_gcse_sm, 1,
+  {"gcse-sm", &flag_dummy, 1,
    N_("Perform store motion after global subexpression elimination") },
-  {"branch-target-load-optimize", &flag_branch_target_load_optimize, 1,
+  {"branch-target-load-optimize", &flag_dummy, 1,
    N_("Perform branch target load optimization before prologue / epilogue threading") },
-  {"branch-target-load-optimize2", &flag_branch_target_load_optimize2, 1,
+  {"branch-target-load-optimize2", &flag_dummy, 1,
    N_("Perform branch target load optimization after prologue / epilogue threading") },
-  {"loop-optimize", &flag_loop_optimize, 1,
+  {"loop-optimize", &flag_dummy, 1,
    N_("Perform the loop optimizations") },
-  {"crossjumping", &flag_crossjumping, 1,
+  {"crossjumping", &flag_dummy, 1,
    N_("Perform cross-jumping optimization") },
-  {"if-conversion", &flag_if_conversion, 1,
+  {"if-conversion", &flag_dummy, 1,
    N_("Perform conversion of conditional jumps to branchless equivalents") },
-  {"if-conversion2", &flag_if_conversion2, 1,
+  {"if-conversion2", &flag_dummy, 1,
    N_("Perform conversion of conditional jumps to conditional execution") },
-  {"rerun-cse-after-loop", &flag_rerun_cse_after_loop, 1,
+  {"rerun-cse-after-loop", &flag_dummy, 1,
    N_("Run CSE pass after loop optimizations") },
-  {"rerun-loop-opt", &flag_rerun_loop_opt, 1,
+  {"rerun-loop-opt", &flag_dummy, 1,
    N_("Run the loop optimizer twice") },
-  {"delete-null-pointer-checks", &flag_delete_null_pointer_checks, 1,
+  {"delete-null-pointer-checks", &flag_dummy, 1,
    N_("Delete useless null pointer checks") },
-  {"schedule-insns", &flag_schedule_insns, 1,
+  {"schedule-insns", &flag_dummy, 1,
    N_("Reschedule instructions before register allocation") },
-  {"schedule-insns2", &flag_schedule_insns_after_reload, 1,
+  {"schedule-insns2", &flag_dummy, 1,
    N_("Reschedule instructions after register allocation") },
   {"sched-interblock",&flag_schedule_interblock, 1,
    N_("Enable scheduling across basic blocks") },
@@ -4191,36 +4194,6 @@ decode_f_option (const char *arg)
 	    set_param_value ("min-inline-insns", 10);
 	}
     }
-#ifdef INSN_SCHEDULING
-  else if ((option_value = skip_leading_substring (arg, "sched-verbose=")))
-    fix_sched_param ("verbose", option_value);
-#endif
-  else if ((option_value
-	    = skip_leading_substring (arg, "message-length=")))
-    output_set_maximum_length
-      (&global_dc->buffer, read_integral_parameter
-       (option_value, arg - 2, diagnostic_line_cutoff (global_dc)));
-  else if ((option_value
-	    = skip_leading_substring (arg, "diagnostics-show-location=")))
-    {
-      if (!strcmp (option_value, "once"))
-	diagnostic_prefixing_rule (global_dc) = DIAGNOSTICS_SHOW_PREFIX_ONCE;
-      else if (!strcmp (option_value, "every-line"))
-	diagnostic_prefixing_rule (global_dc)
-	  = DIAGNOSTICS_SHOW_PREFIX_EVERY_LINE;
-      else
-	error ("unrecognized option `%s'", arg - 2);
-    }
-  else if (!strcmp (arg, "no-stack-limit"))
-    stack_limit_rtx = NULL_RTX;
-  else if ((option_value = skip_leading_substring (arg, "random-seed=")))
-    flag_random_seed = option_value;
-  else if (!strcmp (arg, "no-random-seed"))
-    flag_random_seed = NULL;
-  else if (!strcmp (arg, "preprocessed"))
-    /* Recognize this switch but do nothing.  This prevents warnings
-       about an unrecognized switch if cpplib has not been linked in.  */
-    ;
   else
     return 0;
 
Index: toplev.h
===================================================================
RCS file: /cvs/gcc/gcc/gcc/toplev.h,v
retrieving revision 1.99
diff -u -p -r1.99 toplev.h
--- toplev.h	20 Jun 2003 22:56:36 -0000	1.99
+++ toplev.h	21 Jun 2003 17:54:23 -0000
@@ -104,6 +104,21 @@ extern bool version_flag;
 
 extern int target_flags_explicit;
 
+/* See toplev.c.  */
+extern int flag_loop_optimize;
+extern int flag_crossjumping;
+extern int flag_if_conversion;
+extern int flag_if_conversion2;
+extern int flag_delete_null_pointer_checks;
+extern int flag_keep_static_consts;
+extern int flag_peel_loops;
+extern int flag_rerun_cse_after_loop;
+extern int flag_thread_jumps;
+extern int flag_tracer;
+extern int flag_unroll_loops;
+extern int flag_unroll_all_loops;
+extern int flag_unswitch_loops;
+
 extern void display_help (void);
 extern void display_target_options (void);
 extern void print_version (FILE *, const char *);
Index: f/lang.opt
===================================================================
RCS file: /cvs/gcc/gcc/gcc/f/lang.opt,v
retrieving revision 1.2
diff -u -p -r1.2 lang.opt
--- f/lang.opt	15 Jun 2003 14:56:31 -0000	1.2
+++ f/lang.opt	21 Jun 2003 17:54:24 -0000
@@ -214,6 +214,9 @@ F77
 fpedantic
 F77
 
+fpreprocessed
+F77
+
 fsecond-underscore
 F77
 
Index: f/top.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/f/top.c,v
retrieving revision 1.33
diff -u -p -r1.33 top.c
--- f/top.c	21 Jun 2003 15:59:31 -0000	1.33
+++ f/top.c	21 Jun 2003 17:54:24 -0000
@@ -573,6 +573,7 @@ ffe_handle_option (size_t scode, const c
     case OPT_Wcomments:
     case OPT_Wimport:
     case OPT_Wtrigraphs:
+    case OPT_fpreprocessed:
       /* These are for cpp.  */
       break;
 


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]