diff options
author | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2014-09-04 15:13:40 +0000 |
---|---|---|
committer | Manuel López-Ibáñez <manu@gcc.gnu.org> | 2014-09-04 15:13:40 +0000 |
commit | 2b71f4a4f8515c5d0919fc5c220f427e7c837e7f (patch) | |
tree | c7538be5564ae0acb2315138a89ce1f3cc020b22 /gcc/optc-gen.awk | |
parent | 6bf5ce8f85c50886913d6f26a248f4c4c1445bd2 (diff) | |
download | gcc-2b71f4a4f8515c5d0919fc5c220f427e7c837e7f.zip gcc-2b71f4a4f8515c5d0919fc5c220f427e7c837e7f.tar.gz gcc-2b71f4a4f8515c5d0919fc5c220f427e7c837e7f.tar.bz2 |
options.texi: Document that Var and Init are required if CPP is given.
gcc/ChangeLog:
2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
* doc/options.texi: Document that Var and Init are required if CPP
is given.
* optc-gen.awk: Require Var and Init if CPP is given.
* common.opt (Wpedantic): Use Init.
libcpp/ChangeLog:
2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
* macro.c (replace_args): Use cpp_pedwarning, cpp_warning and
CPP_W flags.
* include/cpplib.h: Add CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
* init.c (cpp_create_reader): Do not init to -1 here.
* expr.c (num_binary_op): Use cpp_pedwarning.
gcc/c-family/ChangeLog:
2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
* c.opt (Wc90-c99-compat,Wc++-compat,Wcomment,Wendif-labels,
Winvalid-pch,Wlong-long,Wmissing-include-dirs,Wmultichar,Wpedantic,
(Wdate-time,Wtraditional,Wundef,Wvariadic-macros): Add CPP, Var
and Init.
* c-opts.c (c_common_handle_option): Do not handle here.
(sanitize_cpp_opts): Likewise.
* c-common.c (struct reason_option_codes_t): Handle
CPP_W_C90_C99_COMPAT and CPP_W_PEDANTIC.
gcc/testsuite/ChangeLog:
2014-09-04 Manuel López-Ibáñez <manu@gcc.gnu.org>
* gcc.dg/cpp/endif-pedantic2.c: More general options do not
override specific ones, but specific ones do.
From-SVN: r214904
Diffstat (limited to 'gcc/optc-gen.awk')
-rw-r--r-- | gcc/optc-gen.awk | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/gcc/optc-gen.awk b/gcc/optc-gen.awk index ef80c99..ecb225c 100644 --- a/gcc/optc-gen.awk +++ b/gcc/optc-gen.awk @@ -500,11 +500,20 @@ for (i = 0; i < n_opts; i++) { } cpp_option = nth_arg(0, opt_args("CPP", flags[i])); - opt_var_name = var_name(flags[i]); - if (cpp_option != "" && opt_var_name != "") { - print " case " opt_enum(opts[i]) ":" - print " cpp_opts->" cpp_option " = opts->x_" opt_var_name ";" - print " break;" + if (cpp_option != "") { + opt_var_name = var_name(flags[i]); + init = opt_args("Init", flags[i]) + if (opt_var_name != "" && init != "") { + print " case " opt_enum(opts[i]) ":" + print " cpp_opts->" cpp_option " = opts->x_" opt_var_name ";" + print " break;" + } else if (opt_var_name == "" && init == "") { + print "#error CPP() requires setting Init() and Var() for " opts[i] + } else if (opt_var_name != "") { + print "#error CPP() requires setting Init() for " opts[i] + } else { + print "#error CPP() requires setting Var() for " opts[i] + } } } print " default: " |