]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
optc-gen.awk: No need to duplicate option flags twice.
authorRalf Wildenhues <Ralf.Wildenhues@gmx.de>
Sun, 1 Mar 2009 12:20:33 +0000 (12:20 +0000)
committerRalf Wildenhues <rwild@gcc.gnu.org>
Sun, 1 Mar 2009 12:20:33 +0000 (12:20 +0000)
gcc/
* optc-gen.awk: No need to duplicate option flags twice.
Reuse help texts for duplicate options which do not have
any.

From-SVN: r144526

gcc/ChangeLog
gcc/optc-gen.awk

index 2640f373a33f5b735ac772cd689382ec11a200f5..493b8badc4d864505366639abf7e7e77fe6a8b05 100644 (file)
@@ -1,5 +1,9 @@
 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
 
+       * optc-gen.awk: No need to duplicate option flags twice.
+       Reuse help texts for duplicate options which do not have
+       any.
+
        * gcc.c (display_help): Document --version.
 
        * gcc.c (main): If print_help_list and verbose_flag, ensure
index 6844bd6458649826ce5b546a364963e812e9f084..3e644a571df9d84b58d7380e2b1c5a71aeee2973 100644 (file)
@@ -1,4 +1,4 @@
-#  Copyright (C) 2003, 2004, 2007, 2008 Free Software Foundation, Inc.
+#  Copyright (C) 2003, 2004, 2007, 2008, 2009 Free Software Foundation, Inc.
 #  Contributed by Kelley Cook, June 2004.
 #  Original code from Neil Booth, May 2003.
 #
@@ -147,6 +147,8 @@ for (i = 0; i < n_opts; i++) {
        # ends, for example.
        while( i + 1 != n_opts && opts[i] == opts[i + 1] ) {
                flags[i + 1] = flags[i] " " flags[i + 1];
+               if (help[i + 1] == "")
+                       help[i + 1] = help[i]
                i++;
                back_chain[i] = "N_OPTS";
                indices[opts[i]] = j;
@@ -155,11 +157,10 @@ for (i = 0; i < n_opts; i++) {
 }
 
 for (i = 0; i < n_opts; i++) {
-       # Combine the flags of identical switches.  Switches
-       # appear many times if they are handled by many front
-       # ends, for example.
+       # With identical flags, pick only the last one.  The
+       # earlier loop ensured that it has all flags merged,
+       # and a nonempty help text if one of the texts was nonempty.
        while( i + 1 != n_opts && opts[i] == opts[i + 1] ) {
-               flags[i + 1] = flags[i] " " flags[i + 1];
                i++;
        }