vtk-m/vtkm
Kenneth Moreland 65f6d2aa67 Fix issue with union placeholder on Intel compiler
We have run into an issue with some Intel compilers where if a `union`
contains a `struct` that has some padding for byte alignment, the value
copy might skip over that padding even when the `union` contains a different
type where those bytes are valid. This breaks the value copy of our
`Variant` class.

This is not a unique problem. We have seen the same thing in other
compilers and already have a workaround for when this happens. The
workaround creates a special struct that has no padding placed at the front
of the `union`. The Intel compiler adds a fun twist in that this
placeholder structure only works if the alignment is at least as high as
the struct that follows it.

To get around this problem, make the alignment of the placeholder `struct`
at large as possible for the size of the `union`.

It was taking too long to compile with a device. Redesign the
placeholder to be simpler and compile faster.
2023-09-26 07:25:25 -04:00
..
cont Merge topic 'arrayhandleconstant-extract-component' 2023-08-29 10:23:22 -04:00
exec Get the 3D index from a BoundaryState in WorkletPointNeighborhood 2023-06-19 10:29:18 -06:00
filter Merge topic 'constant-amr-arrays' 2023-09-08 18:40:08 -04:00
internal Fix issue with union placeholder on Intel compiler 2023-09-26 07:25:25 -04:00
interop initial implementation of ANARI rendering support 2023-08-30 15:52:48 -05:00
io Handle any Vec size in VTKDataSetReader 2023-05-22 06:19:11 -06:00
random Add module mechanism 2022-10-26 12:51:05 -06:00
rendering remove unused variables 2023-08-07 14:51:06 -04:00
source Change auto seed behavior in PerlinNoise source 2022-12-06 12:21:04 -07:00
testing Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
thirdparty Merge branch 'upstream-diy' into update-diy 2023-06-19 20:07:20 -04:00
worklet LookupTable: Shift computed idx by 1 2023-08-23 12:55:13 -04:00
.gitattributes
Assert.h
Atomic.h Switch Kokkos atomic functions to use desul library 2023-06-28 14:34:54 -04:00
BinaryOperators.h
BinaryPredicates.h
Bitset.h
Bounds.h Add a new unstructured cell locator 2022-11-22 09:51:40 -05:00
CellClassification.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
CellShape.h
CellTraits.h
CMakeLists.txt Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
Deprecated.h Disable deprecation for MSVC 2017 2021-04-26 12:47:44 -06:00
ErrorCode.h
Flags.h
Geometry.h
Geometry.hxx
Hash.h
ImplicitFunction.h add multi plane for clip 2023-08-23 02:32:17 +00:00
List.h Remove deprecated features from VTK-m 2022-11-17 07:12:31 -06:00
LowerBound.h split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
Math.h Fix unresolved external symbol __popcnt on win-arm64 2022-11-27 19:51:17 -05:00
Math.h.in Fix unresolved external symbol __popcnt on win-arm64 2022-11-27 19:46:13 -05:00
Matrix.h Break LUP factorization when invalid matrix found 2021-07-12 10:29:46 -06:00
NewtonsMethod.h
Pair.h
Particle.h Removing particle property num punctures 2023-08-16 18:23:22 -07:00
Range.h Add implementation of VecTraits for Range and Bounds 2022-01-25 10:55:35 -07:00
RangeId2.h
RangeId3.h
RangeId.h
StaticAssert.h
Swap.h Fix compile issues when using cuda 12 2023-02-06 12:26:55 -05:00
TopologyElementTag.h
Transform3D.h
Tuple.h
Tuple.h.in
TypeList.h Enable reinterpreting UnknownArrayHandle to compatible C types 2021-01-13 09:19:27 -07:00
Types.h Fix dot product type promotion 2023-02-08 07:04:07 -07:00
TypeTraits.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
UnaryPredicates.h
UpperBound.h split vtkm/Algorithms.h into UpperBound.h, LowerBound.h, and BinarySearch.h 2021-04-07 18:53:09 +00:00
VecAxisAlignedPointCoordinates.h Add VecFlat class 2020-12-16 17:22:44 -07:00
VecFlat.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
VecFromPortal.h Improve = operators in VecFromPortal 2023-08-08 21:43:01 -04:00
VecFromPortalPermute.h
VectorAnalysis.h Avoid floating point exception in Orthonormalize 2021-07-12 10:29:46 -06:00
VecTraits.h Implement VecTraits class for all types 2023-03-16 12:59:38 -06:00
VecVariable.h
Version.h.in
vtkm.module Add module mechanism 2022-10-26 12:51:05 -06:00