diff options
author | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-09 14:59:55 +0000 |
---|---|---|
committer | bstarynk <bstarynk@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-10-09 14:59:55 +0000 |
commit | eba2aae511fc844543f6d2845fac82544617f76d (patch) | |
tree | 4cb47b83e2b0f42ab42d54d9b0a4fb49b2a68d93 /gcc/toplev.c | |
parent | 8e14cc65d0226cf4a44421a8183cd0bccd651897 (diff) | |
download | gcc-eba2aae511fc844543f6d2845fac82544617f76d.tar.gz |
2010-10-09 Basile Starynkevitch <basile@starynkevitch.net>
MELT branch merged with trunk rev 165222
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/melt-branch@165232 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r-- | gcc/toplev.c | 44 |
1 files changed, 25 insertions, 19 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c index fb5507ce0c5..b6ec9f11fd3 100644 --- a/gcc/toplev.c +++ b/gcc/toplev.c @@ -210,12 +210,6 @@ unsigned local_tick; /* -f flags. */ -/* 0 means straightforward implementation of complex divide acceptable. - 1 means wide ranges of inputs must work for complex divide. - 2 means C99-like requirements for complex multiply and divide. */ - -int flag_complex_method = 1; - /* Nonzero means we should be saving declaration info into a .X file. */ int flag_gen_aux_info = 0; @@ -241,12 +235,6 @@ int flag_next_runtime = 0; enum tls_model flag_tls_default = TLS_MODEL_GLOBAL_DYNAMIC; -/* Set the default region and algorithm for the integrated register - allocator. */ - -enum ira_algorithm flag_ira_algorithm = IRA_ALGORITHM_CB; -enum ira_region flag_ira_region = IRA_REGION_MIXED; - /* Set the default for excess precision. */ enum excess_precision flag_excess_precision_cmdline = EXCESS_PRECISION_DEFAULT; @@ -305,9 +293,6 @@ typedef struct } lang_independent_options; -/* Nonzero if subexpressions must be evaluated from left-to-right. */ -int flag_evaluation_order = 0; - /* The user symbol prefix after having resolved same. */ const char *user_label_prefix; @@ -1678,8 +1663,10 @@ general_init (const char *argv0) /* Set a default printer. Language specific initializations will override it later. */ pp_format_decoder (global_dc->printer) = &default_tree_printer; - global_dc->show_option_requested = flag_diagnostics_show_option; - global_dc->show_column = flag_show_column; + global_dc->show_option_requested + = global_options_init.x_flag_diagnostics_show_option; + global_dc->show_column + = global_options_init.x_flag_show_column; global_dc->internal_error = plugins_internal_error_function; global_dc->option_enabled = option_enabled; global_dc->option_state = &global_options; @@ -2419,10 +2406,29 @@ toplev_main (int argc, char **argv) /* Initialization of GCC's environment, and diagnostics. */ general_init (argv[0]); + /* One-off initialization of options that does not need to be + repeated when options are added for particular functions. */ + init_options_once (); + + /* Initialize global options structures; this must be repeated for + each structure used for parsing options. */ + init_options_struct (&global_options, &global_options_set); + lang_hooks.init_options_struct (&global_options); + + /* Convert the options to an array. */ + decode_cmdline_options_to_array_default_mask (argc, + CONST_CAST2 (const char **, + char **, argv), + &save_decoded_options, + &save_decoded_options_count); + + /* Perform language-specific options initialization. */ + lang_hooks.init_options (save_decoded_options_count, save_decoded_options); + /* Parse the options and do minimal processing; basically just enough to default flags appropriately. */ - decode_options (argc, CONST_CAST2 (const char **, char **, argv), - &save_decoded_options, &save_decoded_options_count); + decode_options (&global_options, &global_options_set, + save_decoded_options, save_decoded_options_count); init_local_tick (); |