From 6e2f19568ad7378a11073048ffb2372045dc665a Mon Sep 17 00:00:00 2001 From: Joseph Myers Date: Sun, 20 Jun 2010 22:02:46 +0100 Subject: re PR other/32998 (-frecord-gcc-switches issues) PR other/32998 * opth-gen.awk: Generate definitions of OPT_SPECIAL_unknown, OPT_SPECIAL_program_name and OPT_SPECIAL_input_file. * opts-common.c (find_opt): Return OPT_SPECIAL_unknown on failure. (decode_cmdline_option): Update for this return value. Set orig_option_with_args_text field. Set arg field for unknown options. Make static. (decode_cmdline_options_to_array): New. (prune_options): Update handling of find_opt return value. * opts.c (read_cmdline_option): Take decoded option. Return void. (read_cmdline_options): Take decoded options. (decode_options): Add parameters for decoded options. Use decode_cmdline_options_to_array. Use decoded options for -O scan. Use integral_argument for -O parameters. Update call to read_cmdline_options. (enable_warning_as_error): Update handling of find_opt return value. * opts.h: Update comment on unknown options. (struct cl_decoded_option): Update comments on opt_index and arg. Add orig_option_with_args_text. (decode_cmdline_option): Remove. (decode_cmdline_options_to_array): Declare. (decode_options): Update prototype. * toplev.c (save_argv): Remove. (save_decoded_options, save_decoded_options_count): New. (read_integral_parameter): Remove. (print_switch_values): Use decoded options. (toplev_main): Don't set save_argv. Update call to decode_options. * toplev.h (read_integral_parameter): Remove. * varasm.c (elf_record_gcc_switches): Don't handle holding back names. c-family: * c-common.c (parse_optimize_options): Update call to decode_options. fortran: * options.c (gfc_handle_option): Don't handle N_OPTS. testsuite: * gcc.dg/opts-2.c: New test. From-SVN: r161053 --- gcc/opth-gen.awk | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gcc/opth-gen.awk') diff --git a/gcc/opth-gen.awk b/gcc/opth-gen.awk index cf2ef96..19af0ef 100644 --- a/gcc/opth-gen.awk +++ b/gcc/opth-gen.awk @@ -358,7 +358,10 @@ for (i = 0; i < n_opts; i++) { print " " enum "," s "/* -" opts[i] " */" } -print " N_OPTS" +print " N_OPTS," +print " OPT_SPECIAL_unknown," +print " OPT_SPECIAL_program_name," +print " OPT_SPECIAL_input_file" print "};" print "" print "#endif /* OPTIONS_H */" -- cgit v1.1