diff --git a/vtkm/cont/Timer.cxx b/vtkm/cont/Timer.cxx index 3330f0d3d..b0500e97d 100644 --- a/vtkm/cont/Timer.cxx +++ b/vtkm/cont/Timer.cxx @@ -86,16 +86,17 @@ struct Index> }; template -VTKM_CONT inline auto GetTimerImpl(Device, vtkm::cont::detail::EnabledDeviceTimerImpls* timerImpls) - -> decltype(std::get::value>(timerImpls->timerImplTuple)) +VTKM_CONT inline + typename std::tuple_element::value, EnabledTimerImplTuple>::type& + GetTimerImpl(Device, vtkm::cont::detail::EnabledDeviceTimerImpls* timerImpls) { return std::get::value>(timerImpls->timerImplTuple); } template -VTKM_CONT inline auto GetTimerImpl(Device, - const vtkm::cont::detail::EnabledDeviceTimerImpls* timerImpls) - -> decltype(std::get::value>(timerImpls->timerImplTuple)) +VTKM_CONT inline const typename std::tuple_element::value, + EnabledTimerImplTuple>::type& +GetTimerImpl(Device, const vtkm::cont::detail::EnabledDeviceTimerImpls* timerImpls) { return std::get::value>(timerImpls->timerImplTuple); }