mpark-variant: ICC Patch (#22727)
* Add patch for Intel C++ compiler - On some machines (in particular MacOSX Catalina), the icpc in some way utilizes the preprocessor of the associated "developer tools" used by icpc. This leads to, in some cases, a preprocessor claiming support for __tuple_element_packs, even though icpc (as of version 21.1) can't actually parse such code. Just use the MPARK_TUPLE_ELEMENT_PACK impl with __icc until icpc supports it, to avoid issues with developer tools that are untested. - The same patch has been PRed against mpark-variant
This commit is contained in:
parent
2ae7e25501
commit
9c139bf7a2
33
var/spack/repos/builtin/packages/mpark-variant/icpc.patch
Normal file
33
var/spack/repos/builtin/packages/mpark-variant/icpc.patch
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
From 2d933fe544bd5841e9016ab7e8066521ebe33f30 Mon Sep 17 00:00:00 2001
|
||||||
|
From: sbolding <sbolding@lanl.gov>
|
||||||
|
Date: Mon, 29 Mar 2021 19:13:28 -0600
|
||||||
|
Subject: [PATCH] Apply patch for icpc
|
||||||
|
|
||||||
|
icpc in some way utilizes the preprocessor of the associated "developer
|
||||||
|
tools" used by the compiler. This leads to, in some cases, a
|
||||||
|
preprocessor claiming support for `__tuple_element_packs`, even though
|
||||||
|
icpc (as of version 21.1) can't actually parse such code. Just use the
|
||||||
|
MPARK_TUPLE_ELEMENT_PACK impl with __icc until icpc supports it.
|
||||||
|
|
||||||
|
Fixes #77
|
||||||
|
---
|
||||||
|
include/mpark/config.hpp | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/include/mpark/config.hpp b/include/mpark/config.hpp
|
||||||
|
index f85ffb55c..128fa9235 100644
|
||||||
|
--- a/include/mpark/config.hpp
|
||||||
|
+++ b/include/mpark/config.hpp
|
||||||
|
@@ -50,7 +50,7 @@
|
||||||
|
#define MPARK_BUILTIN_UNREACHABLE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
-#if __has_builtin(__type_pack_element)
|
||||||
|
+#if __has_builtin(__type_pack_element) && !(defined(__ICC))
|
||||||
|
#define MPARK_TYPE_PACK_ELEMENT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
--
|
||||||
|
2.24.3 (Apple Git-128)
|
||||||
|
|
||||||
|
|
@ -19,7 +19,10 @@ class MparkVariant(CMakePackage):
|
|||||||
|
|
||||||
# Ref.: https://github.com/mpark/variant/pull/73
|
# Ref.: https://github.com/mpark/variant/pull/73
|
||||||
patch('nvcc.patch', when='@:1.4.0')
|
patch('nvcc.patch', when='@:1.4.0')
|
||||||
|
# Ref.: https://github.com/mpark/variant/issues/60
|
||||||
patch('version.patch', when='@1.4.0')
|
patch('version.patch', when='@1.4.0')
|
||||||
|
# Ref.: https://github.com/mpark/variant/pull/78
|
||||||
|
patch('icpc.patch', when='@:1.4.0')
|
||||||
|
|
||||||
cxx11_msg = 'MPark.Variant needs a C++11-capable compiler. ' \
|
cxx11_msg = 'MPark.Variant needs a C++11-capable compiler. ' \
|
||||||
'See https://github.com/mpark/variant#requirements'
|
'See https://github.com/mpark/variant#requirements'
|
||||||
|
Loading…
Reference in New Issue
Block a user