testsuite: Allow setting gpp_std_list in configuration files

This allows the gpp_std_list variable to be set in ~/.dejagnurc instead
of using the GXX_TESTSUITE_STDS environment variable.  This is
consistent with how other defaults such as tool_timeout can be set.

The environment variable can still be used to override the default.

gcc/testsuite/ChangeLog:

	* lib/g++-dg.exp: Update comments.
	* lib/g++.exp (gpp_std_list): Check for an existing value before
	setting it to an empty list.
This commit is contained in:
Jonathan Wakely 2022-03-29 11:17:01 +01:00
parent 95768878c7
commit eb59ddf57f
2 changed files with 9 additions and 4 deletions

View File

@ -27,8 +27,8 @@ proc g++-dg-prune { system text } {
return [gcc-dg-prune $system $text]
}
# Modified dg-runtest that runs tests in both C++98 and C++11 modes
# unless they specifically specify one or the other.
# Modified dg-runtest that runs tests in multiple standard modes,
# unless they specifically specify one standard.
proc g++-dg-runtest { testcases flags default-extra-flags } {
global runtests
@ -39,7 +39,7 @@ proc g++-dg-runtest { testcases flags default-extra-flags } {
}
# If the testcase specifies a standard, use that one.
# If not, run it under both standards, allowing GNU extensions
# If not, run it under several standards, allowing GNU extensions
# if there's a dg-options line.
if ![search_for $test "-std=*++"] {
if [search_for $test "dg-options"] {
@ -48,6 +48,7 @@ proc g++-dg-runtest { testcases flags default-extra-flags } {
set std_prefix "-std=c++"
}
# See g++.exp for the initial value of this list.
global gpp_std_list
if { [llength $gpp_std_list] > 0 } {
set std_list $gpp_std_list

View File

@ -32,7 +32,11 @@ load_lib target-libpath.exp
set gpp_compile_options ""
set gpp_std_list { }
# Allow gpp_std_list to be set in configuration files, e.g., ~/.dejagnurc
if ![info exists gpp_std_list] {
set gpp_std_list { }
}
# Allow gpp_std_list to be set from the environment.
if [info exists env(GXX_TESTSUITE_STDS)] {
set gpp_std_list [split $env(GXX_TESTSUITE_STDS) ","]
}