diff options
author | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-07 11:10:46 +0000 |
---|---|---|
committer | neil <neil@138bc75d-0d04-0410-961f-82ee72b054a4> | 2003-06-07 11:10:46 +0000 |
commit | 5457b64599c4fd4a544ec3fd5d552e5e6feeb0cf (patch) | |
tree | 924f51e62bf4028b92bc3030d4120771978f8a12 /gcc/langhooks.h | |
parent | 0896c7c85a12ddd68c9165d7d444019bdcc5982c (diff) | |
download | gcc-5457b64599c4fd4a544ec3fd5d552e5e6feeb0cf.tar.gz |
* 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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@67584 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/langhooks.h')
-rw-r--r-- | gcc/langhooks.h | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/gcc/langhooks.h b/gcc/langhooks.h index 70ad952b6f3..c3ec11ddbb3 100644 --- a/gcc/langhooks.h +++ b/gcc/langhooks.h @@ -199,8 +199,9 @@ struct lang_hooks size_t (*tree_size) PARAMS ((enum tree_code)); /* The first callback made to the front end, for simple - initialization needed before any calls to decode_option. */ - void (*init_options) PARAMS ((void)); + initialization needed before any calls to handle_option. Return + the language mask to filter the switch array with. */ + int (*init_options) PARAMS ((void)); /* Function called with an option vector as argument, to decode a single option (typically starting with -f or -W or +). It should @@ -209,9 +210,20 @@ struct lang_hooks option. If this function returns a negative number, then its absolute value is the number of command-line arguments used, but, in addition, no language-independent option processing should be - done for this option. */ + done for this option. Obsoleted by handle_option. */ int (*decode_option) PARAMS ((int, char **)); + /* Handle the switch CODE, which has real type enum opt_code from + options.h. If the switch takes an argument, it is passed in ARG + which points to permanent storage. The handler is resonsible for + checking whether ARG is NULL, which indicates that no argument + was in fact supplied. For -f and -W switches, VALUE is 1 or 0 + for the positive and negative forms respectively. + + Return 1 if the switch is valid, 0 if invalid, and -1 if it's + valid and should not be treated as language-independent too. */ + int (*handle_option) (size_t code, const char *arg, int value); + /* Called when all command line options have been parsed to allow further processing and initialization |