* [PATCH] Check TBB version in tbb-backed effective target check
@ 2019-04-24 19:24 Thomas Rodgers
2019-04-24 20:37 ` Jonathan Wakely
2019-05-21 1:09 ` Thomas Rodgers
0 siblings, 2 replies; 3+ messages in thread
From: Thomas Rodgers @ 2019-04-24 19:24 UTC (permalink / raw)
To: libstdc++, gcc-patches
[-- Attachment #1: Type: text/plain, Size: 124 bytes --]
* testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
Add check for Thread Building Blocks 2018 or later.
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: 0001-Check-TBB-version-in-tbb-backed-effective-target-che.patch --]
[-- Type: text/x-patch, Size: 2078 bytes --]
From bd3de7b67f184ed1387b63dc3bda1d12f7ebee04 Mon Sep 17 00:00:00 2001
From: Thomas Rodgers <trodgers@redhat.com>
Date: Wed, 24 Apr 2019 11:34:14 -0700
Subject: [PATCH] Check TBB version in tbb-backed effective target check
* testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
Add check for Thread Building Blocks 2018 or later.
---
libstdc++-v3/testsuite/lib/libstdc++.exp | 42 +++++++++++++-----------
1 file changed, 23 insertions(+), 19 deletions(-)
diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
index d0efc90a1ba..c48b4d78bbb 100644
--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
@@ -1607,25 +1607,29 @@ proc check_effective_target_random_device { } {
# Return 1 if tbb parallel backend is available
proc check_effective_target_tbb-backend { } {
- global cxxflags
-
- # Set up and preprocess a C++ test program that depends
- # on tbb
- set src tbb_backend[pid].cc
-
- set f [open $src "w"]
- puts $f "#include <tbb/tbb.h>"
- close $f
- set lines [v3_target_compile $src /dev/null preprocess ""]
- file delete $src
-
- if [string match "" $lines] {
- # No error message, preprocessing succeeded.
- verbose "check_v3_tbb-backend: `1'" 2
- return 1
- }
- verbose "check_v3_tbb-backend: `0'" 2
- return 0
+ global cxxflags
+
+ # Set up and preprocess a C++ test program that depends
+ # on tbb
+ set src tbb_backend[pid].cc
+
+ set f [open $src "w"]
+ puts $f "#include <tbb/tbb.h>"
+ puts $f "#if TBB_INTERFACE_VERSION < 10000"
+ puts $f "# error Intel(R) Threading Building Blocks 2018 is required; older versions are not supported."
+ puts $f "#endif"
+ close $f
+
+ set lines [v3_target_compile $src /dev/null preprocess ""]
+ file delete $src
+
+ if [string match "" $lines] {
+ # No error message, preprocessing succeeded.
+ verbose "check_v3_tbb-backend: `1'" 2
+ return 1
+ }
+ verbose "check_v3_tbb-backend: `0'" 2
+ return 0
}
set additional_prunes ""
--
2.20.1
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Check TBB version in tbb-backed effective target check
2019-04-24 19:24 [PATCH] Check TBB version in tbb-backed effective target check Thomas Rodgers
@ 2019-04-24 20:37 ` Jonathan Wakely
2019-05-21 1:09 ` Thomas Rodgers
1 sibling, 0 replies; 3+ messages in thread
From: Jonathan Wakely @ 2019-04-24 20:37 UTC (permalink / raw)
To: Thomas Rodgers; +Cc: libstdc++, gcc-patches
On 24/04/19 11:40 -0700, Thomas Rodgers wrote:
>
> * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
> Add check for Thread Building Blocks 2018 or later.
>
From bd3de7b67f184ed1387b63dc3bda1d12f7ebee04 Mon Sep 17 00:00:00 2001
>From: Thomas Rodgers <trodgers@redhat.com>
>Date: Wed, 24 Apr 2019 11:34:14 -0700
>Subject: [PATCH] Check TBB version in tbb-backed effective target check
>
> * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
> Add check for Thread Building Blocks 2018 or later.
>---
> libstdc++-v3/testsuite/lib/libstdc++.exp | 42 +++++++++++++-----------
> 1 file changed, 23 insertions(+), 19 deletions(-)
>
>diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
>index d0efc90a1ba..c48b4d78bbb 100644
>--- a/libstdc++-v3/testsuite/lib/libstdc++.exp
>+++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
>@@ -1607,25 +1607,29 @@ proc check_effective_target_random_device { } {
>
> # Return 1 if tbb parallel backend is available
> proc check_effective_target_tbb-backend { } {
>- global cxxflags
>-
>- # Set up and preprocess a C++ test program that depends
>- # on tbb
>- set src tbb_backend[pid].cc
>-
>- set f [open $src "w"]
>- puts $f "#include <tbb/tbb.h>"
>- close $f
>- set lines [v3_target_compile $src /dev/null preprocess ""]
>- file delete $src
>-
>- if [string match "" $lines] {
>- # No error message, preprocessing succeeded.
>- verbose "check_v3_tbb-backend: `1'" 2
>- return 1
>- }
>- verbose "check_v3_tbb-backend: `0'" 2
>- return 0
>+ global cxxflags
>+
>+ # Set up and preprocess a C++ test program that depends
>+ # on tbb
>+ set src tbb_backend[pid].cc
>+
>+ set f [open $src "w"]
>+ puts $f "#include <tbb/tbb.h>"
>+ puts $f "#if TBB_INTERFACE_VERSION < 10000"
>+ puts $f "# error Intel(R) Threading Building Blocks 2018 is required; older versions are not supported."
>+ puts $f "#endif"
>+ close $f
>+
This line above has four spaces, but can be just an empty line.
OK for trunk with that tweak, thanks.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] Check TBB version in tbb-backed effective target check
2019-04-24 19:24 [PATCH] Check TBB version in tbb-backed effective target check Thomas Rodgers
2019-04-24 20:37 ` Jonathan Wakely
@ 2019-05-21 1:09 ` Thomas Rodgers
1 sibling, 0 replies; 3+ messages in thread
From: Thomas Rodgers @ 2019-05-21 1:09 UTC (permalink / raw)
To: libstdc++, gcc-patches
Tested x86_64-linux, committed to trunk.
Thomas Rodgers writes:
> * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
> Add check for Thread Building Blocks 2018 or later.
>
> From bd3de7b67f184ed1387b63dc3bda1d12f7ebee04 Mon Sep 17 00:00:00 2001
> From: Thomas Rodgers <trodgers@redhat.com>
> Date: Wed, 24 Apr 2019 11:34:14 -0700
> Subject: [PATCH] Check TBB version in tbb-backed effective target check
>
> * testsuite/lib/libstdc++.exp (check_effective_target_tbb-backend):
> Add check for Thread Building Blocks 2018 or later.
> ---
> libstdc++-v3/testsuite/lib/libstdc++.exp | 42 +++++++++++++-----------
> 1 file changed, 23 insertions(+), 19 deletions(-)
>
> diff --git a/libstdc++-v3/testsuite/lib/libstdc++.exp b/libstdc++-v3/testsuite/lib/libstdc++.exp
> index d0efc90a1ba..c48b4d78bbb 100644
> --- a/libstdc++-v3/testsuite/lib/libstdc++.exp
> +++ b/libstdc++-v3/testsuite/lib/libstdc++.exp
> @@ -1607,25 +1607,29 @@ proc check_effective_target_random_device { } {
>
> # Return 1 if tbb parallel backend is available
> proc check_effective_target_tbb-backend { } {
> - global cxxflags
> -
> - # Set up and preprocess a C++ test program that depends
> - # on tbb
> - set src tbb_backend[pid].cc
> -
> - set f [open $src "w"]
> - puts $f "#include <tbb/tbb.h>"
> - close $f
> - set lines [v3_target_compile $src /dev/null preprocess ""]
> - file delete $src
> -
> - if [string match "" $lines] {
> - # No error message, preprocessing succeeded.
> - verbose "check_v3_tbb-backend: `1'" 2
> - return 1
> - }
> - verbose "check_v3_tbb-backend: `0'" 2
> - return 0
> + global cxxflags
> +
> + # Set up and preprocess a C++ test program that depends
> + # on tbb
> + set src tbb_backend[pid].cc
> +
> + set f [open $src "w"]
> + puts $f "#include <tbb/tbb.h>"
> + puts $f "#if TBB_INTERFACE_VERSION < 10000"
> + puts $f "# error Intel(R) Threading Building Blocks 2018 is required; older versions are not supported."
> + puts $f "#endif"
> + close $f
> +
> + set lines [v3_target_compile $src /dev/null preprocess ""]
> + file delete $src
> +
> + if [string match "" $lines] {
> + # No error message, preprocessing succeeded.
> + verbose "check_v3_tbb-backend: `1'" 2
> + return 1
> + }
> + verbose "check_v3_tbb-backend: `0'" 2
> + return 0
> }
>
> set additional_prunes ""
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-05-21 1:09 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-24 19:24 [PATCH] Check TBB version in tbb-backed effective target check Thomas Rodgers
2019-04-24 20:37 ` Jonathan Wakely
2019-05-21 1:09 ` Thomas Rodgers
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).