From e28aa11462a447d3a30e8a53a7058d1158e33e5f Mon Sep 17 00:00:00 2001 From: jsm28 Date: Mon, 16 Aug 2010 10:15:15 +0000 Subject: * common.opt: Add driver options. (auxbase, auxbase-strip, quiet, version): Mark RejectDriver. * doc/options.texi (Driver, RejectDriver): Document. * gcc.c (pass_exit_codes, print_search_dirs, print_file_name, print_prog_name, print_multi_directory, print_sysroot, print_multi_os_directory, print_multi_lib, print_sysroot_headers_suffix, report_times, combine_flag, use_pipes, wrapper_string): Remove. (save_switch, driver_unknown_option_callback, driver_wrong_lang_callback, driver_post_handling_callback, driver_handle_option): New. (spec_lang, last_language_n_infiles): Make file-scope static instead of local to process_command. (process_command): Use decode_cmdline_options_to_array and read_cmdline_option for option processing. Compute have_c in prescan of decoded options. * opt-functions.awk (switch_flags): Handle Driver and RejectDriver. (var_type, var_type_struct): Handle Separate options as generating const char * variables. * opts-common.c (decode_cmdline_option): Expect CL_COMMON and CL_TARGET to be passed by caller if required. (decode_cmdline_options_to_array): Update comment. * opts.c (complain_wrong_lang): Handle options only valid for the driver. (decode_options): Update call to decode_cmdline_options_to_array. (print_filtered_help): Ignore driver-only options. (print_specific_help): Ignore CL_DRIVER. (common_handle_option): Don't call print_specific_help for CL_DRIVER. * opts.h (CL_DRIVER, CL_REJECT_DRIVER): Define. (CL_PARAMS, CL_WARNING, CL_OPTIMIZATION, CL_TARGET, CL_COMMON): Update values. c-family: * c.opt (MDX, MMDX, lang-asm): Mark RejectDriver. fortran: * lang.opt (MDX, MMDX): Mark RejectDriver. java: * lang.opt (MD_, MMD_, version): Mark RejectDriver. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163279 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/opt-functions.awk | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'gcc/opt-functions.awk') diff --git a/gcc/opt-functions.awk b/gcc/opt-functions.awk index 4eeb67bdbea..4ff4068cc0c 100644 --- a/gcc/opt-functions.awk +++ b/gcc/opt-functions.awk @@ -78,6 +78,8 @@ function switch_flags (flags) result = result \ test_flag("Common", flags, " | CL_COMMON") \ test_flag("Target", flags, " | CL_TARGET") \ + test_flag("Driver", flags, " | CL_DRIVER") \ + test_flag("RejectDriver", flags, " | CL_REJECT_DRIVER") \ test_flag("Save", flags, " | CL_SAVE") \ test_flag("Joined", flags, " | CL_JOINED") \ test_flag("JoinedOrMissing", flags, " | CL_JOINED | CL_MISSING_OK") \ @@ -128,7 +130,7 @@ function static_var(name, flags) # Return the type of variable that should be associated with the given flags. function var_type(flags) { - if (!flag_set_p("Joined.*", flags)) + if (!flag_set_p("Joined.*", flags) && !flag_set_p("Separate", flags)) return "int " else if (flag_set_p("UInteger", flags)) return "int " @@ -143,7 +145,7 @@ function var_type_struct(flags) { if (flag_set_p("UInteger", flags)) return "int " - else if (!flag_set_p("Joined.*", flags)) { + else if (!flag_set_p("Joined.*", flags) && !flag_set_p("Separate", flags)) { if (flag_set_p(".*Mask.*", flags)) return "int " else -- cgit v1.2.1