llvm-project/clang/test/SemaCUDA
Yaxun (Sam) Liu 04caa7c3e0 [CUDA][HIP] Promote const variables to constant
Recently we added diagnosing ODR-use of host variables
in device functions, which includes ODR-use of const
host variables since they are not really emitted on
device side. This caused regressions since we used
to allow ODR-use of const host variables in device
functions.

This patch allows ODR-use of const variables in device
functions if the const variables can be statically initialized
and have an empty dtor. Such variables are marked with
implicit constant attrs and emitted on device side. This is
in line with what clang does for constexpr variables.

Reviewed by: Artem Belevich

Differential Revision: https://reviews.llvm.org/D103108
2021-06-01 21:28:41 -04:00
..
Inputs [HIP] Support __managed__ attribute 2021-01-22 11:43:58 -05:00
add-inline-in-definition.cu
addr-of-overloaded-fn.cu
alias.cu
amdgpu-attrs.cu
amdgpu-f128.cu [hip] Claim builtin type `__float128` supported if the host target supports it. 2020-04-21 15:56:40 -04:00
amdgpu-size_t.cu
amdgpu-windows-vectorcall.cu
asm-constraints-device.cu
asm-constraints-mixed.cu
asm_delayed_diags.cu [CUDA][HIP] Change default lang std to c++14 2021-06-01 20:45:10 -04:00
attr-declspec.cu [cuda][hip] Add CUDA builtin surface/texture reference support. 2020-03-27 17:18:49 -04:00
attributes-on-non-cuda.cu [cuda][hip] Add CUDA builtin surface/texture reference support. 2020-03-27 17:18:49 -04:00
autoret-global.cu
bad-attributes.cu [HIP] Support __managed__ attribute 2021-01-22 11:43:58 -05:00
bad-calls-on-same-line.cu recommit 1b978ddba0 [CUDA][HIP][OpenMP] Emit deferred diagnostics by a post-parsing AST travese 2020-03-23 12:09:07 -04:00
builtin-mangled-name.cu [CUDA][HIP] add __builtin_get_device_side_mangled_name 2021-03-25 15:25:29 -04:00
builtins.cu recommit 4fc752b30b [CUDA][HIP] Always defer diagnostics for wrong-sided reference 2020-07-17 09:14:39 -04:00
call-device-fn-from-host.cu recommit 1b978ddba0 [CUDA][HIP][OpenMP] Emit deferred diagnostics by a post-parsing AST travese 2020-03-23 12:09:07 -04:00
call-host-fn-from-device.cu recommit 1b978ddba0 [CUDA][HIP][OpenMP] Emit deferred diagnostics by a post-parsing AST travese 2020-03-23 12:09:07 -04:00
call-kernel-from-kernel.cu recommit 4fc752b30b [CUDA][HIP] Always defer diagnostics for wrong-sided reference 2020-07-17 09:14:39 -04:00
call-stack-for-deferred-err.cu
config-type.cu
constexpr-ctor.cu
constexpr-variables.cu PR47805: Use a single object for a function parameter in the caller and 2020-10-14 17:43:51 -07:00
cuda-builtin-vars.cu [CUDA][HIP] Change default lang std to c++14 2021-06-01 20:45:10 -04:00
cuda-inherits-calling-conv.cu
cxx11-kernel-call.cu
default-ctor.cu
deferred-diags-limit.cu Speed up deferred diagnostic emitter 2020-04-06 13:07:43 -04:00
deferred-diags.cu Suppress Deferred Diagnostics in discarded statements. 2021-05-12 12:48:47 -07:00
deferred-oeverload.cu [CUDA][HIP] Fix overloading resolution 2020-12-02 16:33:33 -05:00
dependent-device-var.cu [CUDA][HIP] Fix checking dependent initalizer 2021-02-04 18:04:54 -05:00
device-use-host-var.cu [CUDA][HIP] Promote const variables to constant 2021-06-01 21:28:41 -04:00
device-var-init.cu [HIP] Support __managed__ attribute 2021-01-22 11:43:58 -05:00
error-includes-mode.cu
exceptions.cu
extern-shared.cu
float16.cu
function-overload.cu [HIP] Support __managed__ attribute 2021-01-22 11:43:58 -05:00
function-target.cu [CUDA][HIP] Change default lang std to c++14 2021-06-01 20:45:10 -04:00
function-template-overload.cu
global-initializers-host.cu
gnu-inline.cu
host-device-constexpr.cu
implicit-copy.cu
implicit-device-lambda.cu recommit 4fc752b30b [CUDA][HIP] Always defer diagnostics for wrong-sided reference 2020-07-17 09:14:39 -04:00
implicit-intrinsic.cu
implicit-member-target-collision-cxx11.cu
implicit-member-target-collision.cu [CUDA][HIP] Change default lang std to c++14 2021-06-01 20:45:10 -04:00
implicit-member-target-inherited.cu
implicit-member-target.cu
inherited-ctor.cu
kernel-call.cu
lambda.cu [CUDA][HIP] Let lambda be host device by default 2020-07-08 13:10:26 -04:00
launch_bounds.cu
lit.local.cfg
managed-var.cu [HIP] Support __managed__ attribute 2021-01-22 11:43:58 -05:00
method-target.cu recommit 4fc752b30b [CUDA][HIP] Always defer diagnostics for wrong-sided reference 2020-07-17 09:14:39 -04:00
no-call-stack-for-immediate-errs.cu
no-destructor-overload.cu
no-host-device-constexpr.cu
openmp-static-func.cu
openmp-target.cu recommit 1b978ddba0 [CUDA][HIP][OpenMP] Emit deferred diagnostics by a post-parsing AST travese 2020-03-23 12:09:07 -04:00
overloaded-delete.cu
pr27778.cu
qualifiers.cu
reference-to-kernel-fn.cu recommit 4fc752b30b [CUDA][HIP] Always defer diagnostics for wrong-sided reference 2020-07-17 09:14:39 -04:00
static-device-var.cu [CUDA][HIP] Promote const variables to constant 2021-06-01 21:28:41 -04:00
trace-through-global.cu recommit 1b978ddba0 [CUDA][HIP][OpenMP] Emit deferred diagnostics by a post-parsing AST travese 2020-03-23 12:09:07 -04:00
union-init.cu [HIP] Support __managed__ attribute 2021-01-22 11:43:58 -05:00
usual-deallocators.cu [CUDA] Normalize handling of defauled dtor. 2021-01-21 10:48:07 -08:00
vararg.cu
vla.cu