[committed] libstdc++: Skip PSTL tests when installed TBB is too old [PR 96718]

Jonathan Wakely jwakely@redhat.com
Fri Aug 21 11:11:33 GMT 2020


These tests do not actually require TBB, because they only inspect the
feature test macros present in the headers. However, if TBB is installed
then its headers will be included, and the version will be checked. If
the version is too old, compilation fails due to a #error directive.

This change disables the tests if TBB is not present, so that we skip
them instead of failing.

libstdc++-v3/ChangeLog:

	PR libstdc++/96718
	* testsuite/25_algorithms/pstl/feature_test-2.cc: Require
	tbb-backend effective target.
	* testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
	* testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
	* testsuite/25_algorithms/pstl/feature_test.cc: Likewise.

Tested x86_64-linux. Committed to trunk and gcc-10.

-------------- next part --------------
commit 988fb2f597d67cdf3603654372c020c28448441f
Author: Jonathan Wakely <jwakely@redhat.com>
Date:   Fri Aug 21 12:01:05 2020

    libstdc++: Skip PSTL tests when installed TBB is too old [PR 96718]
    
    These tests do not actually require TBB, because they only inspect the
    feature test macros present in the headers. However, if TBB is installed
    then its headers will be included, and the version will be checked. If
    the version is too old, compilation fails due to a #error directive.
    
    This change disables the tests if TBB is not present, so that we skip
    them instead of failing.
    
    libstdc++-v3/ChangeLog:
    
            PR libstdc++/96718
            * testsuite/25_algorithms/pstl/feature_test-2.cc: Require
            tbb-backend effective target.
            * testsuite/25_algorithms/pstl/feature_test-3.cc: Likewise.
            * testsuite/25_algorithms/pstl/feature_test-5.cc: Likewise.
            * testsuite/25_algorithms/pstl/feature_test.cc: Likewise.

diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-2.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-2.cc
index 3e74f89bc41..88c5ea5b1d1 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-2.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-2.cc
@@ -17,6 +17,7 @@
 
 // { dg-options "-std=gnu++17" }
 // { dg-do preprocess { target c++17 } }
+// { dg-require-effective-target tbb-backend }
 
 #include <numeric>
 
diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-3.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-3.cc
index 7693fe03548..4d75a186211 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-3.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-3.cc
@@ -17,6 +17,7 @@
 
 // { dg-options "-std=gnu++17" }
 // { dg-do preprocess { target c++17 } }
+// { dg-require-effective-target tbb-backend }
 
 #include <execution>
 
diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-5.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-5.cc
index 2d991958e75..f6f910204fe 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-5.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test-5.cc
@@ -17,6 +17,7 @@
 
 // { dg-options "-std=gnu++17" }
 // { dg-do preprocess { target c++17 } }
+// { dg-require-effective-target tbb-backend }
 
 #include <memory>
 
diff --git a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test.cc b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test.cc
index c3a9be5e45a..817bda3474e 100644
--- a/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test.cc
+++ b/libstdc++-v3/testsuite/25_algorithms/pstl/feature_test.cc
@@ -17,6 +17,7 @@
 
 // { dg-options "-std=gnu++17" }
 // { dg-do preprocess { target c++17 } }
+// { dg-require-effective-target tbb-backend }
 
 #include <algorithm>
 


More information about the Gcc-patches mailing list