summaryrefslogtreecommitdiff
path: root/gcc/opth-gen.awk
diff options
context:
space:
mode:
authormanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>2012-05-14 13:30:32 +0000
committermanu <manu@138bc75d-0d04-0410-961f-82ee72b054a4>2012-05-14 13:30:32 +0000
commitd3b7ee7cc788bd22aa3682d2babfbdd1db0b88ac (patch)
treefc0863eee154e2d3cc964810f8b77726fbaa7a94 /gcc/opth-gen.awk
parentc8010b803d34fa7e096747067e33c650b36ecc06 (diff)
downloadgcc-d3b7ee7cc788bd22aa3682d2babfbdd1db0b88ac.tar.gz
2012-05-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
PR 53063 c-family/ * c.opt (Wc++0X-compat,Wdelete-non-virtual-dtor,Wjump-misses-init, Wreorder): Use LangEnabledBy. * c-opts.c (c_common_handle_option): Do not enable them explicitly. Call lang-specific generated functions. (c_common_post_options): Do not set them here. gcc/ * doc/options.texi: (LangEnabledBy): Document it. * optc-gen.awk: Handle LangEnabledBy. * opth-gen.awk: Generate declaration for lang-specific functions. * opt-read.awk: Record lang numbers. * opt-functions.awk (flag_set_p): Ignore the arguments of flags. (lang_sanitized_name): New. ada/ * gcc-interface/misc.c: Include opts.h and options.h before tm.h. (gnat_handle_option): Call lang-specific generated function. fortran/ * options.c (gfc_handle_option): Call lang-specific generated function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187462 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/opth-gen.awk')
-rw-r--r--gcc/opth-gen.awk14
1 files changed, 12 insertions, 2 deletions
diff --git a/gcc/opth-gen.awk b/gcc/opth-gen.awk
index 8257587e1b3..8e583f03064 100644
--- a/gcc/opth-gen.awk
+++ b/gcc/opth-gen.awk
@@ -305,6 +305,17 @@ print " unsigned int lang_mask, int kind, "
print " location_t loc, "
print " const struct cl_option_handlers *handlers, "
print " diagnostic_context *dc); "
+for (i = 0; i < n_langs; i++) {
+ lang_name = lang_sanitized_name(langs[i]);
+ print "bool "
+ print lang_name "_handle_option_auto (struct gcc_options *opts, "
+ print " struct gcc_options *opts_set, "
+ print " size_t scode, const char *arg, int value, "
+ print " unsigned int lang_mask, int kind, "
+ print " location_t loc, "
+ print " const struct cl_option_handlers *handlers, "
+ print " diagnostic_context *dc); "
+}
print "#endif";
print "#endif";
print "";
@@ -401,8 +412,7 @@ for (i = 0; i < n_opts; i++) {
print ""
for (i = 0; i < n_langs; i++) {
- macros[i] = "CL_" langs[i]
- gsub( "[^" alnum "_]", "X", macros[i] )
+ macros[i] = "CL_" lang_sanitized_name(langs[i])
s = substr(" ", length (macros[i]))
print "#define " macros[i] s " (1U << " i ")"
}