summaryrefslogtreecommitdiff
path: root/gcc/optc-gen.awk
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/optc-gen.awk')
-rw-r--r--gcc/optc-gen.awk22
1 files changed, 17 insertions, 5 deletions
diff --git a/gcc/optc-gen.awk b/gcc/optc-gen.awk
index 5476674a163..e647cd9ad21 100644
--- a/gcc/optc-gen.awk
+++ b/gcc/optc-gen.awk
@@ -57,7 +57,9 @@ END {
print "/* This file is auto-generated by opts.sh. */"
print ""
print "#include <intl.h>"
-print "#include " quote header_name quote
+n_headers = split(header_name, headers, " ")
+for (i = 1; i <= n_headers; i++)
+ print "#include " quote headers[i] quote
print "#include " quote "opts.h" quote
print ""
@@ -135,10 +137,20 @@ for (i = 0; i < n_opts; i++) {
else
hlp = quote help[i] quote;
- printf(" { %c-%s%c,\n %s,\n %s, %u, %s, %s, %s }%s\n",
- quote, opts[i], quote, hlp, back_chain[i], len,
- switch_flags(flags[i]),
- var_ref(flags[i]), var_set(flags[i]), comma)
+ printf(" { %c-%s%c,\n %s,\n %s, %u,\n",
+ quote, opts[i], quote, hlp, back_chain[i], len)
+ condition = opt_args("Condition", flags[i])
+ cl_flags = switch_flags(flags[i])
+ if (condition != "")
+ printf("#if %s\n" \
+ " %s,\n" \
+ "#else\n" \
+ " CL_DISABLED,\n" \
+ "#endif\n",
+ condition, cl_flags, cl_flags)
+ else
+ printf(" %s,\n", cl_flags)
+ printf(" %s, %s }%s\n", var_ref(flags[i]), var_set(flags[i]), comma)
}
print "};"