Skip to content

Add an entry to VariantUnion to help compiler copy structs

Kenneth Moreland requested to merge kmorel/vtk-m:fix-nightly-gcc5-cuda into master

I've been seeing errors in a nightly build that compiles for CUDA Pascal using GCC5. The issue is that one of the ArrayHandleMultiplexer tests is failing to copy an implicit array correctly. I think the problem is that in this test the first and second type of the Variant are the same size, but the first type has some padding in the middle whereas the second type does not. When using this second type, the values in the same position of the padding of the first type don't seem to be initialized properly in the kernel invocation.

My nonexhaustive experiment shows that things work OK as long as the first type is large enough and has no fillers. Enforce this by adding an internal entry to the union that is completely full.

Merge request reports