summaryrefslogtreecommitdiff
path: root/gcc/opt-functions.awk
diff options
context:
space:
mode:
authorManuel López-Ibáñez <manu@gcc.gnu.org>2012-10-16 15:38:58 +0000
committerManuel López-Ibáñez <manu@gcc.gnu.org>2012-10-16 15:38:58 +0000
commitd919140b83feaa44cf32f4e3e9c31ac78278ac27 (patch)
treea6523b7f9bf2d5a90aa29d3a35230edb359537cf /gcc/opt-functions.awk
parent65d4f2cd2a488125a6522eeb6c9df5f890c7086f (diff)
re PR c/53063 (encode group options in the .opt files)
2012-10-16 Manuel López-Ibáñez <manu@gcc.gnu.org> PR c/53063 PR c/40989 * doc/options.texi (EnabledBy): Document new form. * optc-gen.awk: Handle new form of EnabledBy. * common.opt (Wunused-but-set-parameter): Use EnabledBy. (Wunused-parameter): Likewise. * opts.c (finish_options): Do not handle them explicitly. * opt-functions.awk (search_var_name): New. From-SVN: r192503
Diffstat (limited to 'gcc/opt-functions.awk')
-rw-r--r--gcc/opt-functions.awk16
1 files changed, 16 insertions, 0 deletions
diff --git a/gcc/opt-functions.awk b/gcc/opt-functions.awk
index 8b025b2cf32..13de5e48ed1 100644
--- a/gcc/opt-functions.awk
+++ b/gcc/opt-functions.awk
@@ -297,3 +297,19 @@ function lang_sanitized_name(name)
gsub( "[^" alnum "_]", "X", name )
return name
}
+
+# Search for a valid var_name among all OPTS equal to option NAME.
+# If not found, return "".
+function search_var_name(name, opt_numbers, opts, flags, n_opts)
+{
+ opt_var_name = var_name(flags[opt_numbers[name]]);
+ if (opt_var_name != "") {
+ return opt_var_name;
+ }
+ for (k = 0; k < n_opts; k++) {
+ if (opts[k] == name && var_name(flags[k]) != "") {
+ return var_name(flags[k]);
+ }
+ }
+ return ""
+}