PR libstdc++/90252 fix effective-target check for TBB
PR libstdc++/90252 * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend): Use "additional_flags" to pass -ltbb to v3_target_compile command. Use check_v3_target_prop_cached to cache the result of the test. From-SVN: r271466
This commit is contained in:
parent
049f115abb
commit
f445f0f06c
|
@ -1,5 +1,10 @@
|
||||||
2019-05-21 Jonathan Wakely <jwakely@redhat.com>
|
2019-05-21 Jonathan Wakely <jwakely@redhat.com>
|
||||||
|
|
||||||
|
PR libstdc++/90252
|
||||||
|
* testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
|
||||||
|
Use "additional_flags" to pass -ltbb to v3_target_compile command.
|
||||||
|
Use check_v3_target_prop_cached to cache the result of the test.
|
||||||
|
|
||||||
* doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants.
|
* doc/xml/manual/shared_ptr.xml: Fix names of lock policy constants.
|
||||||
|
|
||||||
2019-05-20 Thomas Rodgers <trodgers@redhat.com>
|
2019-05-20 Thomas Rodgers <trodgers@redhat.com>
|
||||||
|
|
|
@ -1581,34 +1581,33 @@ proc check_effective_target_random_device { } {
|
||||||
|
|
||||||
# Return 1 if tbb parallel backend is available
|
# Return 1 if tbb parallel backend is available
|
||||||
proc check_effective_target_tbb-backend { } {
|
proc check_effective_target_tbb-backend { } {
|
||||||
global cxxflags
|
return [check_v3_target_prop_cached et_tbb {
|
||||||
|
# Set up and compile a C++ test program that depends on tbb
|
||||||
|
set src tbb_backend[pid].cc
|
||||||
|
set exe tbb_backend[pid].x
|
||||||
|
|
||||||
# Set up and preprocess a C++ test program that depends
|
set f [open $src "w"]
|
||||||
# on tbb
|
puts $f "#include <tbb/tbb.h>"
|
||||||
set src tbb_backend[pid].cc
|
puts $f "#if TBB_INTERFACE_VERSION < 10000"
|
||||||
set exe tbb_backend[pid].x
|
puts $f "# error Intel(R) Threading Building Blocks 2018 is required; older versions are not supported."
|
||||||
|
puts $f "#endif"
|
||||||
set f [open $src "w"]
|
puts $f "int main ()"
|
||||||
puts $f "#include <tbb/tbb.h>"
|
puts $f "{"
|
||||||
puts $f "#if TBB_INTERFACE_VERSION < 10000"
|
puts $f " return 0;"
|
||||||
puts $f "# error Intel(R) Threading Building Blocks 2018 is required; older versions are not supported."
|
puts $f "}"
|
||||||
puts $f "#endif"
|
close $f
|
||||||
puts $f "int main ()"
|
|
||||||
puts $f "{"
|
|
||||||
puts $f " return 0;"
|
|
||||||
puts $f "}"
|
|
||||||
close $f
|
|
||||||
|
|
||||||
set lines [v3_target_compile $src $exe executable "-ltbb"]
|
|
||||||
file delete $src
|
|
||||||
|
|
||||||
if [string match "" $lines] {
|
set lines [v3_target_compile $src $exe executable "additional_flags=-std=c++17 additional_flags=-ltbb"]
|
||||||
# No error message, preprocessing succeeded.
|
file delete $src
|
||||||
verbose "check_v3_tbb-backend: `1'" 2
|
|
||||||
return 1
|
if [string match "" $lines] {
|
||||||
}
|
# No error message, compilation succeeded.
|
||||||
verbose "check_v3_tbb-backend: `0'" 2
|
verbose "check_v3_tbb-backend: `1'" 2
|
||||||
return 0
|
return 1
|
||||||
|
}
|
||||||
|
verbose "check_v3_tbb-backend: `0'" 2
|
||||||
|
return 0
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
|
|
||||||
set additional_prunes ""
|
set additional_prunes ""
|
||||||
|
|
Loading…
Reference in New Issue