diff options
author | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-09-02 11:41:22 +0000 |
---|---|---|
committer | jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4> | 2010-09-02 11:41:22 +0000 |
commit | 67089c6ba213c45df206f3516b3f5507e36c166b (patch) | |
tree | 963a2e047cab0d224c64b2b3500d48fa1fd9039f /gcc/opth-gen.awk | |
parent | 61344f2daf012d8141a0460a5386df1541b84d1c (diff) | |
download | gcc-67089c6ba213c45df206f3516b3f5507e36c166b.tar.gz |
PR driver/44076
* opts.h (struct cl_option): Add alias_arg, neg_alias_arg and
alias_target fields.
* opt-functions.awk (opt_sanitized_name): Don't handle
finline-limit=, Wlarger-than= and ftemplate-depth= specially.
* optc-gen.awk: Generate alias fields.
* opth-gen.awk: Explicitly give values for OPT_* enum constants.
Don't generate such constants for aliases.
* opts-common.c (generate_canonical_option): New.
(decode_cmdline_option): Handle aliases. Use
generate_canonical_option for known options instead of copying the
input option text.
* doc/options.texi (Alias): Document.
* common.opt (W, Wlarger-than-, aux-info=, finline-limit-,
fstack-check, specs): Mark as aliases.
* gcc.c (driver_handle_option): Canonicalize -L options to joined
arguments.
(driver_handle_option): Don't handle OPT_specs.
* opts.c (common_handle_option): Don't handle options marked as
aliases.
(enable_warning_as_error): Handle aliases.
* stor-layout.c (layout_decl): Use OPT_Wlarger_than_ instead of
OPT_Wlarger_than_eq.
* tree-optimize.c (tree_rest_of_compilation): Use
OPT_Wlarger_than_ instead of OPT_Wlarger_than_eq.
c-family:
* c.opt (Wcomments, Werror-implicit-function-declaration,
ftemplate-depth-, std=c89, std=c9x, std=gnu89, std=gnu9x,
std=iso9899:1990, std=iso9899:1999, std=iso9899:199x): Mark as
aliases.
* c-common.c (option_codes): Use OPT_Wcomment instead of
OPT_Wcomments.
* c-opts.c (warning_as_error_callback, c_common_handle_option):
Don't handle options marked as aliases.
java:
* lang.opt (CLASSPATH, bootclasspath, classpath, encoding,
fCLASSPATH=): Mark as Java options and as aliases.
* jvspec.c (jvgenmain_spec): Don't handle -fCLASSPATH*.
(lang_specific_driver): Don't handle options marked as aliases.
* lang.c (java_handle_option): Don't handle OPT_fCLASSPATH_.
testsuite:
* gcc.dg/cpp/warn-comments-3.c: New. Based on warn-comments-2.c
but using -Werror=comment.
* gcc.dg/cpp/warn-comments.c, gcc.dg/cpp/warn-comments-2.c: Adjust
expected error messages.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@163770 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/opth-gen.awk')
-rw-r--r-- | gcc/opth-gen.awk | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gcc/opth-gen.awk b/gcc/opth-gen.awk index 19af0ef0f0c..cfeccfe47aa 100644 --- a/gcc/opth-gen.awk +++ b/gcc/opth-gen.awk @@ -321,6 +321,7 @@ print "{" for (i = 0; i < n_opts; i++) back_chain[i] = "N_OPTS"; +enum_value = 0 for (i = 0; i < n_opts; i++) { # Combine the flags of identical switches. Switches # appear many times if they are handled by many front @@ -332,6 +333,12 @@ for (i = 0; i < n_opts; i++) { len = length (opts[i]); enum = opt_enum(opts[i]) + enum_string = enum " = " enum_value "," + + # Aliases do not get enumeration names. + if (flag_set_p("Alias.*", flags[i])) { + enum_string = "/* " enum_string " */" + } # If this switch takes joined arguments, back-chain all # subsequent switches to it for which it is a prefix. If @@ -346,7 +353,8 @@ for (i = 0; i < n_opts; i++) { } } - s = substr(" ", length (enum)) + s = substr(" ", + length (enum_string)) if (i + 1 == n_opts) comma = "" @@ -355,7 +363,8 @@ for (i = 0; i < n_opts; i++) { else hlp = "N_(\"" help[i] "\")"; - print " " enum "," s "/* -" opts[i] " */" + print " " enum_string s "/* -" opts[i] " */" + enum_value++ } print " N_OPTS," |