Commit 3a4bffe5 authored by Robert Maynard's avatar Robert Maynard
Browse files

Make sure methods that are used by multiple TU's are inline.

These methods need to be marked inline as they are used by multiple
TU's. When they aren't marked as inline we see random failures in
downstream VTK-m users generally when CUDA is enabled due to ODR
violations.
parent 7f487b1e
......@@ -139,7 +139,7 @@ void StorageVirtualImpl<T, S>::Shrink(vtkm::Id numberOfValues)
struct PortalWrapperToDevice
{
template <typename DeviceAdapterTag, typename Handle>
bool operator()(DeviceAdapterTag device,
inline bool operator()(DeviceAdapterTag device,
Handle&& handle,
vtkm::cont::internal::TransferInfoArray& payload) const
{
......@@ -149,7 +149,7 @@ struct PortalWrapperToDevice
return transfer(device, payload, portal);
}
template <typename DeviceAdapterTag, typename Handle>
bool operator()(DeviceAdapterTag device,
inline bool operator()(DeviceAdapterTag device,
Handle&& handle,
vtkm::Id numberOfValues,
vtkm::cont::internal::TransferInfoArray& payload,
......@@ -183,7 +183,7 @@ void StorageVirtualImpl<T, S>::ControlPortalForInput(
}
template <typename HandleType>
void make_writableHostPortal(std::true_type,
inline void make_writableHostPortal(std::true_type,
vtkm::cont::internal::TransferInfoArray& payload,
HandleType& handle)
{
......@@ -192,7 +192,7 @@ void make_writableHostPortal(std::true_type,
vtkm::cont::make_hostPortal<DerivedPortal>(payload, portal);
}
template <typename HandleType>
void make_writableHostPortal(std::false_type,
inline void make_writableHostPortal(std::false_type,
vtkm::cont::internal::TransferInfoArray& payload,
HandleType&)
{
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment