diff options
Diffstat (limited to 'gcc/optc-gen.awk')
-rw-r--r-- | gcc/optc-gen.awk | 22 |
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 "};" |