Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
VTK
VTK-m
Commits
23c5f118
Commit
23c5f118
authored
Sep 20, 2018
by
Robert Maynard
Browse files
vtk-m brigand nows knows what workaround are only needed for CUDA 9.
Some CUDA 9 compiler issues are fixed in CUDA 10.
parent
36ca0079
Changes
1
Hide whitespace changes
Inline
Side-by-side
vtkm/internal/brigand.hpp
View file @
23c5f118
...
...
@@ -24,12 +24,19 @@
#define BRIGAND_COMP_CLANG
#endif
#endif
#if defined(__CUDACC__)
#if __CUDACC_VER_MAJOR__ == 9
#define BRIGAND_COMP_CUDA_9
#endif
#if __CUDACC_VER_MAJOR__ >= 9
#define BRIGAND_COMP_CUDA_9PLUS
#endif
#define BRIGAND_COMP_CUDA
#endif
#include
<type_traits>
namespace
brigand
{
...
...
@@ -259,9 +266,12 @@ namespace brigand
};
template
<
std
::
size_t
N
,
typename
Seq
>
struct
at_impl
;
#if defined(BRIGAND_COMP_CUDA_9PLUS) || defined(BRIGAND_COMP_INTEL)
//Both CUDA 9 and the Intel 18 compiler series have a problem deducing the
//type so we are just going
#if defined(BRIGAND_COMP_CUDA_9) || defined(BRIGAND_COMP_INTEL)
//Both CUDA 9 and the Intel 18 compiler series have a problem when
//at_impl ::type typedef is produced through inheritance of a `T`
//that is deduced through an unimplemented static functions return type.
//So we don't do the inherit trick, but instead manually construct
//a ::type typedef ourself.
template
<
std
::
size_t
N
,
template
<
typename
...
>
class
L
,
class
...
Ts
>
struct
at_impl
<
N
,
L
<
Ts
...
>>
{
...
...
Robert Maynard
@robertmaynard
mentioned in commit
8d0f441e
·
Sep 20, 2018
mentioned in commit
8d0f441e
mentioned in commit 8d0f441e1b391c6ec4c2662ee1454d8c901733fb
Toggle commit list
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment