forked from OSchip/llvm-project
ba122ab42f
With this patch, by a constexpr function is implicitly host+device unless: a) it's a variadic function (variadic functions are not allowed on the device side), or b) it's preceeded by a __device__ overload in a system header. The restriction on overloading __host__ __device__ functions on the basis of their CUDA attributes remains in place, but we use (b) to allow us to define __device__ overloads for constexpr functions in cmath, which would otherwise be __host__ __device__ and thus not overloadable. You can disable this behavior with -fno-cuda-host-device-constexpr. Reviewers: tra, rnk, rsmith Subscribers: cfe-commits Differential Revision: http://reviews.llvm.org/D18380 llvm-svn: 264964 |
||
---|---|---|
.. | ||
Inputs | ||
alias.cu | ||
amdgpu-num-gpr-attr.cu | ||
asm-constraints-device.cu | ||
asm-constraints-mixed.cu | ||
attributes-on-non-cuda.cu | ||
bad-attributes.cu | ||
builtins.cu | ||
config-type.cu | ||
cuda-builtin-vars.cu | ||
cxx11-kernel-call.cu | ||
function-overload.cu | ||
function-target.cu | ||
host-device-constexpr.cu | ||
implicit-copy.cu | ||
implicit-intrinsic.cu | ||
implicit-member-target-collision-cxx11.cu | ||
implicit-member-target-collision.cu | ||
implicit-member-target.cu | ||
kernel-call.cu | ||
launch_bounds.cu | ||
lit.local.cfg | ||
method-target.cu | ||
no-host-device-constexpr.cu | ||
qualifiers.cu | ||
vararg.cu |