diff options
author | Martin Liska <mliska@suse.cz> | 2017-08-29 09:46:10 +0200 |
---|---|---|
committer | Martin Liska <marxin@gcc.gnu.org> | 2017-08-29 07:46:10 +0000 |
commit | 130fcab02f1fbb097fc52fc9a8892472e3fa0c6c (patch) | |
tree | 046ad3bcd18ba4f41c0aa0e8b5abc176198fc723 /gcc/opts.h | |
parent | faa5399be693b2cdea641b976156f0fc89fa10cf (diff) | |
download | gcc-130fcab02f1fbb097fc52fc9a8892472e3fa0c6c.zip gcc-130fcab02f1fbb097fc52fc9a8892472e3fa0c6c.tar.gz gcc-130fcab02f1fbb097fc52fc9a8892472e3fa0c6c.tar.bz2 |
Fix --help=target (PR other/39851).
2017-08-29 Martin Liska <mliska@suse.cz>
PR other/39851
* gcc.c (driver_handle_option): Add new argument.
* opts-common.c (handle_option): Pass
target_option_override_hook.
* opts-global.c (lang_handle_option): Add new option.
(set_default_handlers): Add new argument.
(decode_options): Likewise.
* opts.c (target_handle_option): Likewise.
(common_handle_option): Call target_option_override_hook.
* opts.h (struct cl_option_handler_func): Add hook for
target option override.
(struct cl_option_handlers): Likewise.
(set_default_handlers): Add new argument.
(decode_options): Likewise.
(common_handle_option): Likewise.
(target_handle_option): Likewise.
* toplev.c (toplev::main): Pass targetm.target_option.override
hook.
2017-08-29 Martin Liska <mliska@suse.cz>
PR other/39851
* c-common.c (parse_optimize_options): Add argument to function
call.
* c-pragma.c (handle_pragma_diagnostic): Likewise.
From-SVN: r251400
Diffstat (limited to 'gcc/opts.h')
-rw-r--r-- | gcc/opts.h | 18 |
1 files changed, 13 insertions, 5 deletions
@@ -272,7 +272,8 @@ struct cl_option_handler_func const struct cl_decoded_option *decoded, unsigned int lang_mask, int kind, location_t loc, const struct cl_option_handlers *handlers, - diagnostic_context *dc); + diagnostic_context *dc, + void (*target_option_override_hook) (void)); /* The mask that must have some bit in common with the flags for the option for this particular handler to be used. */ @@ -294,6 +295,9 @@ struct cl_option_handlers void (*wrong_lang_callback) (const struct cl_decoded_option *decoded, unsigned int lang_mask); + /* Target option override hook. */ + void (*target_option_override_hook) (void); + /* The number of individual handlers. */ size_t num_handlers; @@ -338,13 +342,15 @@ extern void decode_cmdline_options_to_array_default_mask (unsigned int argc, const char **argv, struct cl_decoded_option **decoded_options, unsigned int *decoded_options_count); -extern void set_default_handlers (struct cl_option_handlers *handlers); +extern void set_default_handlers (struct cl_option_handlers *handlers, + void (*target_option_override_hook) (void)); extern void decode_options (struct gcc_options *opts, struct gcc_options *opts_set, struct cl_decoded_option *decoded_options, unsigned int decoded_options_count, location_t loc, - diagnostic_context *dc); + diagnostic_context *dc, + void (*target_option_override_hook) (void)); extern int option_enabled (int opt_idx, void *opts); extern bool get_option_state (struct gcc_options *, int, struct cl_option_state *); @@ -391,14 +397,16 @@ extern bool common_handle_option (struct gcc_options *opts, unsigned int lang_mask, int kind, location_t loc, const struct cl_option_handlers *handlers, - diagnostic_context *dc); + diagnostic_context *dc, + void (*target_option_override_hook) (void)); extern bool target_handle_option (struct gcc_options *opts, struct gcc_options *opts_set, const struct cl_decoded_option *decoded, unsigned int lang_mask, int kind, location_t loc, const struct cl_option_handlers *handlers, - diagnostic_context *dc); + diagnostic_context *dc, + void (*target_option_override_hook) (void)); extern void finish_options (struct gcc_options *opts, struct gcc_options *opts_set, location_t loc); |