diff options
author | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-15 08:30:02 +0000 |
---|---|---|
committer | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-15 08:30:02 +0000 |
commit | e690b385a0f2ff4af2cd6cd56fd8ef94f697bf63 (patch) | |
tree | fb5a3a4fc913d05084620e60c670ecc9dde2dd16 /gcc/opts.c | |
parent | 5bd751ff1c6248385ca2a90cf25232c581bdc9ce (diff) | |
download | gcc-e690b385a0f2ff4af2cd6cd56fd8ef94f697bf63.tar.gz |
* c-pch.c (asm_file_name): Remove.
* common.opt: Add more switches.
* flags.h (g_switch_set): Boolify.
* opts.c (g_switch_value, g_switch_set, exit_after_options,
version_flag): Move from toplev.c.
(common_handle_option): Handle more switches from toplev.c.
* toplev.c (display_help, display_target_options, decode_d_option,
print_version): Make non-static, remove prototypes.
(aux_base_name, asm_file_name, aux_info_file_name): Constify.
(version_flag, g_switch_value, g_switch_set, exit_after_options):
Remove.
(independent_decode_option): Move some handlers to opts.c.
* toplev.h (aux_info_file_name, aux_base_name, asm_file_name,
exit_after_options, version_flag, display_help, display_target_options,
print_version, decode_d_option): New.
java:
* lang.c (version_flag): Rename to v_flag to avoid clash w/ toplev.h.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67971 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/opts.c')
-rw-r--r-- | gcc/opts.c | 83 |
1 files changed, 83 insertions, 0 deletions
diff --git a/gcc/opts.c b/gcc/opts.c index 99b3298688b..204cc0d0db3 100644 --- a/gcc/opts.c +++ b/gcc/opts.c @@ -30,6 +30,16 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA #include "flags.h" #include "toplev.h" +/* Value of the -G xx switch, and whether it was passed or not. */ +unsigned HOST_WIDE_INT g_switch_value; +bool g_switch_set; + +/* True if we should exit after parsing options. */ +bool exit_after_options; + +/* If -version. */ +bool version_flag; + static size_t find_opt (const char *, int); static int common_handle_option (size_t scode, const char *arg, int value); @@ -236,9 +246,82 @@ common_handle_option (size_t scode, const char *arg, default: abort (); + case OPT__help: + display_help (); + exit_after_options = true; + break; + + case OPT__target_help: + display_target_options (); + exit_after_options = true; + break; + + case OPT__version: + print_version (stderr, ""); + exit_after_options = true; + break; + + case OPT_G: + g_switch_value = read_integral_parameter (arg, 0, -1); + if (g_switch_value == (unsigned HOST_WIDE_INT) -1) + return 0; + g_switch_set = true; + break; + + case OPT_aux_info: + case OPT_aux_info_: + aux_info_file_name = arg; + flag_gen_aux_info = 1; + break; + + case OPT_auxbase: + aux_base_name = arg; + break; + + case OPT_auxbase_strip: + { + char *tmp = xstrdup (arg); + strip_off_ending (tmp, strlen (tmp)); + if (tmp[0]) + aux_base_name = tmp; + } + break; + + case OPT_d: + decode_d_option (arg); + break; + + case OPT_dumpbase: + dump_base_name = arg; + break; + + case OPT_o: + asm_file_name = arg; + break; + + case OPT_p: + profile_flag = 1; + break; + + case OPT_pedantic: + pedantic = 1; + break; + + case OPT_pedantic_errors: + flag_pedantic_errors = pedantic = 1; + break; + case OPT_quiet: quiet_flag = 1; break; + + case OPT_version: + version_flag = 1; + break; + + case OPT_w: + inhibit_warnings = 1; + break; } return 1; |