aboutsummaryrefslogtreecommitdiff
path: root/gcc/toplev.c
diff options
context:
space:
mode:
authorNeil Booth <neil@daikokuya.co.uk>2003-06-07 11:10:46 +0000
committerNeil Booth <neil@gcc.gnu.org>2003-06-07 11:10:46 +0000
commit2772ef3ef33609dd64209323e9418a847685971a (patch)
tree924f51e62bf4028b92bc3030d4120771978f8a12 /gcc/toplev.c
parentf6749ed8d3a382fa8815a1481937d17591c89891 (diff)
downloadgcc-2772ef3ef33609dd64209323e9418a847685971a.zip
gcc-2772ef3ef33609dd64209323e9418a847685971a.tar.gz
gcc-2772ef3ef33609dd64209323e9418a847685971a.tar.bz2
Makefile.in (OJBS, c-opts.o): Update.
* Makefile.in (OJBS, c-opts.o): Update. (c-options.c, c-options.h): Rename options.h and options.c. (options.h): Rename options_.h. (opts.o): New. * c-common.h (c_common_handle_option): Replace c_common_decode_option. (c_common_init_options): Update prototype. * c-lang.c (c_init_options): Update prototype. (LANG_HOOKS_HANDLE_OPTION): Override. (LANG_HOOKS_DECODE_OPTION): Drop. * c-opts.c: Include opts.h and options.h instead of c-options.h and c-options.c. (lang_flags): Move to file scope. (find_opt, c_common_decode_option): Remove. (CL_C, CL_OBJC, CL_CXX, CL_OBJCXX, CL_JOINED, CL_SEPARATE, CL_REJECT_NEGATIVE): Move to opts.h. (missing_arg): Update prototype. (c_common_init_options): Update for new prototype. (c_common_handle_options): Filenames are passed as N_OPTS. * hooks.c (hook_int_void_0): New. * hooks.h (hook_int_void_0): New. * langhooks-def.h (LANG_HOOKS_INIT_OPTIONS): New default. (LANG_HOOKS_HANDLE_OPTION): Default to NULL for now. (LANG_HOOKS_INITIALIZER): Update. * langhooks.h (init_options): Update. (handle_option): New. * opts.c, opts.h: New files. * opts.sh: Update c file to include opts.h and options.h. * toplev.c: Include opts.h; change options.h to options_.h. (parse_options_and_default_flags): Get lang_mask, use handle_option for language-specific handling. * objc/objc-lang.c (LANG_HOOKS_DECODE_OPTON): Drop. (LANG_HOOKS_HANDLE_OPTION): Override. (objc_init_options): Update. ada: * misc.c (gnat_init_options): Update. cp: * cp-lang.c (LANG_HOOKS_DECODE_OPTON): Drop. (LANG_HOOKS_HANDLE_OPTION): Override. * cp-tree.h (cxx_init_options): Update. * lex.c (cxx_init_options): Update. f: * com.c (ffe_init_options): Update. java: * lang.c (java_init_options): Update. From-SVN: r67584
Diffstat (limited to 'gcc/toplev.c')
-rw-r--r--gcc/toplev.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/gcc/toplev.c b/gcc/toplev.c
index 1a82946..83db268 100644
--- a/gcc/toplev.c
+++ b/gcc/toplev.c
@@ -76,6 +76,7 @@ Software Foundation, 59 Temple Place - Suite 330, Boston, MA
#include "cfgloop.h"
#include "hosthooks.h"
#include "cgraph.h"
+#include "opts.h"
#if defined (DWARF2_UNWIND_INFO) || defined (DWARF2_DEBUGGING_INFO)
#include "dwarf2out.h"
@@ -1457,7 +1458,7 @@ documented_lang_options[] =
#define DEFINE_LANG_NAME(NAME) { NULL, NAME },
-#include "options.h"
+#include "options_.h"
};
@@ -5134,7 +5135,7 @@ general_init (char *argv0)
static void
parse_options_and_default_flags (int argc, char **argv)
{
- int i;
+ int i, lang_mask;
/* Save in case md file wants to emit args as a comment. */
save_argc = argc;
@@ -5150,7 +5151,7 @@ parse_options_and_default_flags (int argc, char **argv)
init_ggc_heuristics();
/* Perform language-specific options initialization. */
- (*lang_hooks.init_options) ();
+ lang_mask = (*lang_hooks.init_options) ();
/* Scan to see what optimization level has been specified. That will
determine the default value of many flags. */
@@ -5287,7 +5288,7 @@ parse_options_and_default_flags (int argc, char **argv)
int indep_processed;
/* Give the language a chance to decode the option for itself. */
- lang_processed = (*lang_hooks.decode_option) (argc - i, argv + i);
+ lang_processed = handle_option (argc - i, argv + i, lang_mask);
if (lang_processed >= 0)
/* Now see if the option also has a language independent meaning.