[driver] Ensure --help=params lines end with period

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
This commit is contained in:
Tom de Vries 2018-11-21 08:10:41 +00:00 committed by Tom de Vries
parent 7c74e813c9
commit 25baeeb36e
5 changed files with 46 additions and 5 deletions

View 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

View 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",

View 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>

View 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" ""

View 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
}