diff options
author | Neil Booth <neil@daikokuya.co.uk> | 2003-06-11 22:21:10 +0000 |
---|---|---|
committer | Neil Booth <neil@gcc.gnu.org> | 2003-06-11 22:21:10 +0000 |
commit | 7fb26bb00173af1f41d3df4b5a7a43be9e3f12db (patch) | |
tree | 2af8d6bf007345fd5e6e0ba2072ebff79f20b89c /gcc/treelang/tree1.c | |
parent | 24386c5ec6a6f91d94bb14a65f5ec8a5c84235bc (diff) | |
download | gcc-7fb26bb00173af1f41d3df4b5a7a43be9e3f12db.zip gcc-7fb26bb00173af1f41d3df4b5a7a43be9e3f12db.tar.gz gcc-7fb26bb00173af1f41d3df4b5a7a43be9e3f12db.tar.bz2 |
hooks.c (hook_int_size_t_constcharptr_int_0): New.
* hooks.c (hook_int_size_t_constcharptr_int_0): New.
* hooks.h (hook_int_size_t_constcharptr_int_0): New.
* langhooks-def.h (lhd_decode_option, LANG_HOOKS_DECODE_OPTION): Die.
(LANG_HOOKS_HANDLE_OPTION, LANG_HOOKS_INITIALIZER): Update.
* langhooks.c (lhd_decode_option): Remove.
* langhooks.h (struct lang_hooks): Remove decode_option.
* opts.c (handle_option): No longer use decode_option.
java:
* Make-lang.in: Handle mostlyclean.
treelang:
* Make-lang.in: Update for option handling.
* lang.opt: New.
* tree1.c: Include opts.h and t-options.h.
(treelang_decode_option): Remove.
(treelang_handle_option): New.
* treetree.c (LANG_HOOKS_DECODE_OPTION): Remove.
(LANG_HOOKS_HANDLE_OPTION): Override.
* treetree.h (treelang_decode_option): Remove.
(treelang_handle_option): New.
From-SVN: r67799
Diffstat (limited to 'gcc/treelang/tree1.c')
-rw-r--r-- | gcc/treelang/tree1.c | 112 |
1 files changed, 35 insertions, 77 deletions
diff --git a/gcc/treelang/tree1.c b/gcc/treelang/tree1.c index 3a6681a..f4e5fa8 100644 --- a/gcc/treelang/tree1.c +++ b/gcc/treelang/tree1.c @@ -44,6 +44,8 @@ #include "treelang.h" #include "treetree.h" +#include "opts.h" +#include "t-options.h" extern int yyparse (void); @@ -86,98 +88,54 @@ static int version_done = 0; static unsigned int work_nesting_level = 0; -/* Process one switch - called by toplev.c. */ - +/* Process a switch - called by opts.c. */ int -treelang_decode_option (num_options_left, first_option_left) - int num_options_left ATTRIBUTE_UNUSED; - char** first_option_left; +treelang_handle_option (size_t scode, const char *arg ATTRIBUTE_UNUSED, + int value) { - - /* - Process options - bear in mind I may get options that are really - meant for someone else (eg the main compiler) so I have to be very - permissive. - - */ - - if (first_option_left[0][0] != '-') - return 0; - - switch (first_option_left[0][1]) - { - case '-': - if (!strcmp (first_option_left[0],"--help")) - { - if (!version_done) - { - fputs (language_string, stdout); - fputs (version_string, stdout); - fputs ("\n", stdout); - version_done = 1; - } - fprintf (stdout, "Usage: tree1 [switches] -o output input\n"); - return 1; - } - break; + enum opt_code code = (enum opt_code) scode; - case 'v': - if (!strcmp (first_option_left[0],"-v")) - { - if (!version_done) - { - fputs (language_string, stdout); - fputs (version_string, stdout); - fputs ("\n", stdout); - version_done = 1; - } - return 1; - } - break; + switch (code) + { + default: + return 0; - case 'y': - if (!strcmp (first_option_left[0],"-y")) - { - option_lexer_trace = 1; - option_parser_trace = 1; - return 1; - } + case OPT__help: + if (!version_done) + { + fputs (language_string, stdout); + fputs (version_string, stdout); + fputs ("\n", stdout); + version_done = 1; + } + fprintf (stdout, "Usage: tree1 [switches] -o output input\n"); break; - case 'f': - if (!strcmp (first_option_left[0],"-fparser-trace")) - { - option_parser_trace = 1; - return 1; - } - if (!strcmp (first_option_left[0],"-flexer-trace")) - { - option_lexer_trace = 1; - return 1; - } + case OPT_v: + if (!version_done) + { + fputs (language_string, stdout); + fputs (version_string, stdout); + fputs ("\n", stdout); + version_done = 1; + } break; - case 'w': - if (!strcmp (first_option_left[0],"-w")) - { - /* Tolerate this option but ignore it - we always put out - all warnings. */ - return 1; - } + case OPT_y: + option_lexer_trace = 1; + option_parser_trace = 1; break; - case 'W': - if (!strcmp (first_option_left[0],"-Wall")) - { - return 1; - } + case OPT_fparser_trace: + option_parser_trace = value; break; - default: + case OPT_flexer_trace: + option_lexer_trace = value; break; } - return 0; + return 1; } /* Language dependent parser setup. */ |