[driver] Ensure --help=params lines end with period
authorTom de Vries <tdevries@suse.de>
Wed, 21 Nov 2018 08:10:41 +0000 (08:10 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Wed, 21 Nov 2018 08:10:41 +0000 (08:10 +0000)
Ensure that gcc --help=params lines end with a period by:
- fixing the help message of param HOT_BB_COUNT_FRACTION, and
- adding a test-case.

Build and tested on x86_64.

2018-11-21  Tom de Vries  <tdevries@suse.de>

PR driver/79855
* params.def (HOT_BB_COUNT_FRACTION): Terminate help message with
period.

* lib/options.exp (check_for_options_with_filter): New proc.
* gcc.misc-tests/help.exp: Check that --help=params lines end with
period.

From-SVN: r266338

gcc/ChangeLog
gcc/params.def
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.misc-tests/help.exp
gcc/testsuite/lib/options.exp

index 0f43084b9217789e8a6a2e23f907c33af6018a6e..bff4dfb5daabf636310a250ff3d103e4589d745a 100644 (file)
@@ -1,3 +1,9 @@
+2018-11-21  Tom de Vries  <tdevries@suse.de>
+
+       PR driver/79855
+       * params.def (HOT_BB_COUNT_FRACTION): Terminate help message with
+       period.
+
 2018-11-21  Andreas Krebbel  <krebbel@linux.ibm.com>
 
        * configure.ac: Add check for Binutils to determine whether vector
index 2ae5a007530572034e6fe9708259ae4d075d9a80..11396a7f3af3133d2a93175b3330f3bd5bfc15db 100644 (file)
@@ -397,7 +397,7 @@ DEFPARAM(PARAM_SMS_LOOP_AVERAGE_COUNT_THRESHOLD,
 DEFPARAM(HOT_BB_COUNT_FRACTION,
         "hot-bb-count-fraction",
         "Select fraction of the maximal count of repetitions of basic block in program given basic "
-        "block needs to have to be considered hot (used in non-LTO mode)",
+        "block needs to have to be considered hot (used in non-LTO mode).",
         10000, 0, 0)
 DEFPARAM(HOT_BB_COUNT_WS_PERMILLE,
         "hot-bb-count-ws-permille",
index 50c7f15b9c91e6b7de636561303f0f5269cf04d0..855cc5963b7513b7afe8cdd8a3631c72d94178c9 100644 (file)
@@ -1,3 +1,10 @@
+2018-11-21  Tom de Vries  <tdevries@suse.de>
+
+       PR driver/79855
+       * lib/options.exp (check_for_options_with_filter): New proc.
+       * gcc.misc-tests/help.exp: Check that --help=params lines end with
+       period.
+
 2018-11-21  Jakub Jelinek  <jakub@redhat.com>
            Mark Eggleston  <mark.eggleston@codethink.com>
 
index f40cfabb41e8def052a062088062a9d2e8a0bdd7..34ff9406e25d062b0e186babc69de4eb61a06461 100644 (file)
@@ -63,6 +63,8 @@ check_for_options c "-v --help" "" {are likely to\n  -std} ""
 # Try various --help= classes and qualifiers.
 check_for_options c "--help=optimizers" "-O" "  -g  " ""
 check_for_options c "--help=params" "maximum number of" "-Wunsafe-loop-optimizations" ""
+check_for_options_with_filter c "--help=params" \
+    "^The --param option recognizes the following as parameters:$" "" {[^.]$} ""
 check_for_options c "--help=C" "-ansi" "-gnatO" ""
 check_for_options c {--help=C++} {-std=c\+\+} "-gnatO" ""
 check_for_options c "--help=common" "-dumpbase" "-gnatO" ""
index 824d91276e41c9d4094be8796d5534455d8a96ee..60d85eea9d4caea8ed219c19275da833b0a4a931 100644 (file)
@@ -26,11 +26,14 @@ if { [ishost "*-*-cygwin*"] } {
 }
 
 # Run the LANGUAGE compiler with GCC_OPTIONS and inspect the compiler
-# output to make sure that they match the newline-separated patterns
-# in COMPILER_PATTERNS but not the patterns in COMPILER_NON_PATTERNS.
-# In case of failure, xfail if XFAIL is nonempty.
+# output excluding EXCLUDE lines to make sure that they match the
+# newline-separated patterns in COMPILER_PATTERNS but not the patterns in
+# COMPILER_NON_PATTERNS.  In case of failure, xfail if XFAIL is nonempty.
 
-proc check_for_options {language gcc_options compiler_patterns compiler_non_patterns expected_failure} {
+proc check_for_options_with_filter { language gcc_options exclude \
+                                        compiler_patterns \
+                                        compiler_non_patterns \
+                                        expected_failure } {
     set filename test-[pid]
     set fd [open $filename.c w]
     puts $fd "int main (void) { return 0; }"
@@ -47,6 +50,21 @@ proc check_for_options {language gcc_options compiler_patterns compiler_non_patt
     set gcc_output [gcc_target_compile $filename.c $filename.x executable $gcc_options]
     remote_file build delete $filename.c $filename.x $filename.gcno
 
+    if { $exclude != "" } {
+       set lines [split $gcc_output "\n"]
+       set gcc_output ""
+       foreach line $lines {
+           if {[regexp -line -- "$exclude" $line]} {
+               continue
+           }
+           if { $gcc_output == "" } {
+               set gcc_output "$line"
+           } else {
+               set gcc_output "$gcc_output\n$line"
+           }
+       }       
+   }
+    
     # Verify that COMPILER_PATTERRNS appear in gcc output.
     foreach pattern [split $compiler_patterns "\n"] {
        if {$pattern != ""} {
@@ -79,3 +97,11 @@ proc check_for_options {language gcc_options compiler_patterns compiler_non_patt
        }
     }
 }
+
+# As check_for_options_with_filter, but without the EXCLUDE parameter.
+
+proc check_for_options { language gcc_options compiler_patterns \
+                            compiler_non_patterns expected_failure } {
+    check_for_options_with_filter $language $gcc_options "" $compiler_patterns \
+       $compiler_non_patterns $expected_failure
+}