optc-gen.awk: Factor code out to...
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org> * optc-gen.awk: Factor code out to... * opt-functions.awk (lang_enabled_by): ... this new function. From-SVN: r193303
This commit is contained in:
parent
34a180a642
commit
0829c7f7c5
3 changed files with 41 additions and 25 deletions
|
@ -1,3 +1,8 @@
|
|||
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
|
||||
* optc-gen.awk: Factor code out to...
|
||||
* opt-functions.awk (lang_enabled_by): ... this new function.
|
||||
|
||||
2012-11-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
|
||||
|
||||
PR c/53063
|
||||
|
|
|
@ -313,3 +313,35 @@ function search_var_name(name, opt_numbers, opts, flags, n_opts)
|
|||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
# Handle LangEnabledBy(ENABLED_BY_LANGS, ENABLEDBY_NAME, ENABLEDBY_POSARG,
|
||||
# ENABLEDBY_NEGARG). This function does not return anything.
|
||||
function lang_enabled_by(enabledby_langs, enabledby_name, enabledby_posarg, enabledby_negarg)
|
||||
{
|
||||
n_enabledby_arg_langs = split(enabledby_langs, enabledby_arg_langs, " ");
|
||||
enabledby_index = opt_numbers[enabledby_name];
|
||||
if (enabledby_index == "") {
|
||||
print "#error LangEnabledby: " enabledby_name
|
||||
} else {
|
||||
if (enabledby_posarg != "" && enabledby_negarg != "") {
|
||||
with_args = "," enabledby_posarg "," enabledby_negarg
|
||||
} else if (enabledby_posarg == "" && enabledby_negarg == "") {
|
||||
with_args = ""
|
||||
} else {
|
||||
print "#error LangEnabledBy("enabledby_langs","enabledby_name", " \
|
||||
enabledby_posarg", " enabledby_negargs \
|
||||
") with three arguments, it should have either 2 or 4"
|
||||
}
|
||||
|
||||
for (j = 1; j <= n_enabledby_arg_langs; j++) {
|
||||
lang_name = lang_sanitized_name(enabledby_arg_langs[j]);
|
||||
lang_index = lang_numbers[enabledby_arg_langs[j]];
|
||||
if (enables[lang_name,enabledby_name] == "") {
|
||||
enabledby[lang_name,n_enabledby_lang[lang_index]] = enabledby_name;
|
||||
n_enabledby_lang[lang_index]++;
|
||||
}
|
||||
enables[lang_name,enabledby_name] = enables[lang_name,enabledby_name] opts[i] with_args ";";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -73,32 +73,11 @@ for (i = 0; i < n_opts; i++) {
|
|||
|
||||
enabledby_arg = opt_args("LangEnabledBy", flags[i]);
|
||||
if (enabledby_arg != "") {
|
||||
n_enabledby_arg_langs = split(nth_arg(0, enabledby_arg), enabledby_arg_langs, " ");
|
||||
enabledby_langs = nth_arg(0, enabledby_arg);
|
||||
enabledby_name = nth_arg(1, enabledby_arg);
|
||||
enabledby_posarg = nth_arg(2, enabledby_arg)
|
||||
enabledby_negarg = nth_arg(3, enabledby_arg)
|
||||
enabledby_index = opt_numbers[enabledby_name];
|
||||
if (enabledby_index == "") {
|
||||
print "#error LangEnabledby: " enabledby_name
|
||||
} else {
|
||||
if (enabledby_posarg != "" && enabledby_negarg != "") {
|
||||
with_args = "," enabledby_posarg "," enabledby_negarg
|
||||
} else if (enabledby_posarg == "" && enabledby_negarg == "") {
|
||||
with_args = ""
|
||||
} else {
|
||||
print "#error LangEnabledBy with three arguments, it should have either 2 or 4"
|
||||
}
|
||||
|
||||
for (j = 1; j <= n_enabledby_arg_langs; j++) {
|
||||
lang_name = lang_sanitized_name(enabledby_arg_langs[j]);
|
||||
lang_index = lang_numbers[enabledby_arg_langs[j]];
|
||||
if (enables[lang_name,enabledby_name] == "") {
|
||||
enabledby[lang_name,n_enabledby_lang[lang_index]] = enabledby_name;
|
||||
n_enabledby_lang[lang_index]++;
|
||||
}
|
||||
enables[lang_name,enabledby_name] = enables[lang_name,enabledby_name] opts[i] with_args ";";
|
||||
}
|
||||
}
|
||||
enabledby_posarg = nth_arg(2, enabledby_arg);
|
||||
enabledby_negarg = nth_arg(3, enabledby_arg);
|
||||
lang_enabled_by(enabledby_langs, enabledby_name, enabledby_posarg, enabledby_negarg);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue