Enable/disable same code for HCC as for NVCC
MODIFY
thrust/complex.h
thrust/complex.h
@@ -375,7 +375,7 @@ public:
private:
struct generic_storage_type { T x; T y; };
-#if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC
+#if (THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC) || (THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_HCC)
typedef typename detail::conditional<
detail::is_same<T, float>::value, float2,
typename detail::conditional<

MODIFY
thrust/random/detail/normal_distribution.inl
thrust/random/detail/normal_distribution.inl
#include <thrust/detail/integer_traits.h>
// for floating point infinity
-#if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC
+#if (THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC) || (THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_HCC)
#include <math_constants.h>
#else
#include <limits>

MODIFY
thrust/random/detail/normal_distribution_base.h
thrust/random/detail/normal_distribution_base.h
@@ -136,7 +136,7 @@ template<typename RealType>
template<typename RealType>
struct normal_distribution_base
{
-#if THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC
+#if (THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_NVCC) || (THRUST_DEVICE_COMPILER == THRUST_DEVICE_COMPILER_HCC)
typedef normal_distribution_nvcc<RealType> type;
#else
typedef normal_distribution_portable<RealType> type;

Enable/disable same code for HCC as for NVCC