re PR driver/68043 (many undocumented options, missing punctuation)
authorMartin Sebor <msebor@redhat.com>
Thu, 22 Oct 2015 23:48:17 +0000 (23:48 +0000)
committerMartin Sebor <msebor@gcc.gnu.org>
Thu, 22 Oct 2015 23:48:17 +0000 (17:48 -0600)
gcc/ChangeLog:

2015-10-22  Martin Sebor  <msebor@redhat.com>

PR driver/68043
* config/i386/i386.opt: Add missing periods to the ends of sentences.
* config/msp430/msp430.opt: Same.

gcc/testsuite/ChangeLog:

2015-10-22  Martin Sebor  <msebor@redhat.com>

PR driver/68043
* gcc.misc-tests/help.exp: Verify that option descriptions
end in periods.
* lib/options.exp (check_for_options): Use the regexp --line option.
Print unexpected match on failure.

From-SVN: r229205

gcc/ChangeLog
gcc/config/i386/i386.opt
gcc/config/msp430/msp430.opt
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.misc-tests/help.exp
gcc/testsuite/lib/options.exp

index 85c23fda9c1f662d4860d37e8c748e2420699822..cdc9bfdb439b6285558dfc3a674ab90b33dca371 100644 (file)
@@ -1,3 +1,9 @@
+2015-10-22  Martin Sebor  <msebor@redhat.com>
+
+       PR driver/68043
+       * config/i386/i386.opt: Add missing periods to the ends of sentences.
+       * config/msp430/msp430.opt: Same.
+
 2015-10-21  David Wohlferd  <dw@LimeGreenSocks.com>
 
        * doc/extend.exp (Global Register Variables): Rewrite.
index 8acf0f4b3a0570e68873e9e1522bd94c9985f068..82de21f788104ef9f1177bfa54d6d87fa007a22e 100644 (file)
@@ -104,7 +104,7 @@ enum asm_dialect x_ix86_asm_dialect
 TargetSave
 int x_ix86_branch_cost
 
-;; -mdump-tune-features= 
+;; -mdump-tune-features=
 TargetSave
 int x_ix86_dump_tunes
 
@@ -112,7 +112,7 @@ int x_ix86_dump_tunes
 TargetSave
 int x_ix86_force_align_arg_pointer
 
-;; -mforce-drap= 
+;; -mforce-drap=
 TargetSave
 int x_ix86_force_drap
 
@@ -124,7 +124,7 @@ int x_ix86_incoming_stack_boundary_arg
 TargetSave
 enum pmode x_ix86_pmode
 
-;; -mpreferred-stack-boundary= 
+;; -mpreferred-stack-boundary=
 TargetSave
 int x_ix86_preferred_stack_boundary_arg
 
@@ -701,15 +701,15 @@ Support MMX, SSE, SSE2, SSE3 and SSE4A built-in functions and code generation.
 
 mfma4
 Target Report Mask(ISA_FMA4) Var(ix86_isa_flags) Save
-Support FMA4 built-in functions and code generation 
+Support FMA4 built-in functions and code generation.
 
 mxop
 Target Report Mask(ISA_XOP) Var(ix86_isa_flags) Save
-Support XOP built-in functions and code generation 
+Support XOP built-in functions and code generation.
 
 mlwp
 Target Report Mask(ISA_LWP) Var(ix86_isa_flags) Save
-Support LWP built-in functions and code generation 
+Support LWP built-in functions and code generation.
 
 mabm
 Target Report Mask(ISA_ABM) Var(ix86_isa_flags) Save
index 269c834271cdff81803a58cd5d9a08b920773209..108c2ec724da15e6ab13a7b552a361d765bf1f3f 100644 (file)
@@ -83,8 +83,8 @@ Enum(msp430_regions) String(upper) Value(UPPER)
 
 msilicon-errata=
 Target Joined RejectNegative Report ToLower
-Passes on a request to the assembler to enable fixes for various silicon errata
+Passes on a request to the assembler to enable fixes for various silicon errata.
 
 msilicon-errata-warn=
 Target Joined RejectNegative Report ToLower
-Passes on a request to the assembler to warn about various silicon errata
+Passes on a request to the assembler to warn about various silicon errata.
index cca6c68d01b80bba8b170512425903f0554e9ec8..761029da5e0f7b729b68ab37a861219da4291127 100644 (file)
@@ -1,3 +1,11 @@
+2015-10-22  Martin Sebor  <msebor@redhat.com>
+
+       PR driver/68043
+       * gcc.misc-tests/help.exp: Verify that option descriptions
+       end in periods.
+       * lib/options.exp (check_for_options): Use the regexp --line option.
+       Print unexpected match on failure.
+
 2015-10-22  Uros Bizjak  <ubizjak@gmail.com>
 
        * gcc.target/i386/pr67985-3.c (dg-options): Add -mfpmath=sse.
index be36c85758049c7a70f91e550855f93a398e5e12..df85fd0c3989db9358025185a9509ffb016bee77 100644 (file)
@@ -29,6 +29,18 @@ if ![gcc_parallel_test_run_p help] {
 }
 gcc_parallel_test_enable 0
 
+# GCC breaks up --help output into lines at most $COLUMNS characters
+# wide (or 80 when COLUMNS is not defined), set the COLUMNS environment
+# variable to a value large enough to prevent this (and restore it when
+# done).
+global env
+
+if [ info exists env(COLUMNS) ] {
+    set prev_columns $env(COLUMNS)
+}
+
+set env(COLUMNS) 1024
+
 # Document --version.  Ideally, there should be no undocumented switches
 # in --help.
 check_for_options c "--help" "--version" "This option lacks documentation" ""
@@ -81,25 +93,44 @@ maximum number of
 # Specify patterns (arguments 3 and later) that match option names
 # at the beginning of the line and not when they are referenced by
 # some other options later on.
-# The (?w) Tcl embedded option tells the Tcl regexp  parser to treat
-# the '^' character as an anchor.
 check_for_options c "--help=joined" \
-    "(?w)^ *-Wformat=" "(?w)^ *-fstrict-prototype" ""
+    "^ +-Wformat=" "^ +-fstrict-prototype" ""
 check_for_options c "--help=separate" \
-    "(?w)^ *-MF" "(?w)^ *-fstrict-prototype" ""
+    "^ +-MF" "^ +-fstrict-prototype" ""
 check_for_options c "--help=warnings,joined" \
-    "(?w)^ *-Wformat=" "(?w)^ *-Wtrigraphs" ""
+    "^ +-Wformat=" "^ +-Wtrigraphs" ""
 check_for_options c "--help=warnings,^joined" \
-    "(?w)^ *-Wtrigraphs" "(?w)^ *-Wformat=" ""
+    "^ +-Wtrigraphs" "^ +-Wformat=" ""
 check_for_options c "--help=joined,separate" \
-    "(?w)^ *-I" "" ""
+    "^ +-I" "" ""
 check_for_options c "--help=^joined,separate" \
-    "(?w)^ *--param " "" ""
+    "^ +--param " "" ""
 check_for_options c "--help=joined,^separate" \
-    "(?w)^ *--help=" "" ""
+    "^ +--help=" "" ""
 check_for_options c "--help=joined,undocumented" "" "" ""
 
+# Check to make sure the description for every option is a complete
+# sentence ending in a period.  This matters not just for consistency
+# but also because other sentences may be appended to it by the help
+# subsystem.  Do this one help class at a time to make it easier to
+# find the source a failure.
+
+foreach cls { "ada" "c" "c++" "fortran" "go" \
+                   "optimizers" "param" "target" "warnings" } {
+
+    check_for_options c "--help=$cls" "" "^ +-.*\[^:.\]$" ""
+}
+
 # Listing only excludes gives empty results.
 check_for_options c "--help=^joined,^separate" "" "" ""
 
+if [ info exists prev_columns ] {
+    # Reset the enviroment variable to its oriuginal value.
+    set env(COLUMNS) $prev_columns
+} else {
+    # Remove the variable from the environment if it didn't exist
+    # to begin with to avoid affecting subsequent tests.
+    array unset env COLUMNS
+}
+
 gcc_parallel_test_enable 1
index d1dacdaa32bcc318d7d7c85a10dff4ef6969721e..a78c11967bb7c6bbd1fe57c941b7260a659a6c0c 100644 (file)
@@ -50,7 +50,7 @@ proc check_for_options {language gcc_options compiler_patterns compiler_non_patt
     # Verify that COMPILER_PATTERRNS appear in gcc output.
     foreach pattern [split $compiler_patterns "\n"] {
        if {$pattern != ""} {
-           if {[regexp -- "$pattern" $gcc_output]} {
+           if {[regexp -line -- "$pattern" $gcc_output]} {
                pass "$test $pattern"
            } else {
                if {$expected_failure != ""} {
@@ -65,13 +65,15 @@ proc check_for_options {language gcc_options compiler_patterns compiler_non_patt
     # Verify that COMPILER_NON_PATTERRNS do not appear in gcc output.
     foreach pattern [split $compiler_non_patterns "\n"] {
        if {$pattern != ""} {
-           if {![regexp -- "$pattern" $gcc_output]} {
+           if {![regexp -line -- "$pattern" $gcc_output result]} {
                pass "$test $pattern"
            } else {
                if {$expected_failure != ""} {
                    xfail "$test \"$pattern\" absent from output"
                } else {
-                   fail "$test \"$pattern\" absent from output"
+                   # Print the unexpected line that caused the failure
+                   # to make it easier to find in the multiline output.
+                   fail "$test \"$pattern\" absent from output: \"$result\""
                }
            }
        }