From f0da0668ec829820b192962edf8827836876c47a Mon Sep 17 00:00:00 2001 From: jsm28 Date: Fri, 19 Nov 2010 13:25:39 +0000 Subject: * doc/options.texi (Var): Document effects of Defer. (Defer): Document. * opt-functions.awk (var_type, var_set): Handle deferred options. * opts-common.c (set_option): Handle CLVC_DEFER. * common.opt (fcall-saved-, fcall-used-, fdump-, ffixed-, fplugin=, fplugin-arg-, fstack-limit, fstack-limit-register=, fstack-limit-symbol=): Mark as deferred. * opts.c: Don't include rtl.h, ggc.h, output.h, tree-pass.h or plugin.h. (print_filtered_help): Don't report state of CLVC_DEFER options. (common_handle_option): Move code for OPT_fcall_used_, OPT_fcall_saved_, OPT_fdump_, OPT_ffixed_, OPT_fplugin_, OPT_fplugin_arg_, OPT_fstack_limit, OPT_fstack_limit_register_ and OPT_fstack_limit_symbol_ to opts-global.c. (option_enabled, get_option_state): Handle CLVC_DEFER. * opts.h: Include vec.h. (enum cl_var_type): Add CLVC_DEFER. (cl_deferred_option): Define type and vectors. (handle_common_deferred_options): Declare. * opts-global.c: New. * toplev.c (toplev_main): Call handle_common_deferred_options * Makefile.in (OPTS_H): Include $(VEC_H). (OBJS-common): Include opts-global.o. (opts.o): Update dependencies. (opts-global.o): Add dependencies. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@166942 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/opt-functions.awk | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'gcc/opt-functions.awk') diff --git a/gcc/opt-functions.awk b/gcc/opt-functions.awk index c85df5cd3de..99bbb314475 100644 --- a/gcc/opt-functions.awk +++ b/gcc/opt-functions.awk @@ -148,7 +148,9 @@ function static_var(name, flags) # Return the type of variable that should be associated with the given flags. function var_type(flags) { - if (!flag_set_p("Joined.*", flags) && !flag_set_p("Separate", flags)) + if (flag_set_p("Defer", flags)) + return "void *" + else if (!flag_set_p("Joined.*", flags) && !flag_set_p("Separate", flags)) return "int " else if (flag_set_p("UInteger", flags)) return "int " @@ -177,6 +179,8 @@ function var_type_struct(flags) # "var_cond" and "var_value" fields of its cl_options[] entry. function var_set(flags) { + if (flag_set_p("Defer", flags)) + return "CLVC_DEFER, 0" s = nth_arg(1, opt_args("Var", flags)) if (s != "") return "CLVC_EQUAL, " s -- cgit v1.2.1