[clang] Implement lifetime analysis for lifetime_capture_by(X) (#115921)
[llvm-project.git] / clang / test / CodeGenOpenCLCXX / local_addrspace_init.clcpp
blob0a6462e4262413be6703236dec2adb8fcc7a9cca
1 // RUN: %clang_cc1 %s -triple spir -emit-llvm -O0 -o - | FileCheck %s
3 // Test that we don't initialize local address space objects.
4 //CHECK: @_ZZ4testE1i = internal addrspace(3) global i32 undef
5 //CHECK: @_ZZ4testE2ii = internal addrspace(3) global %class.C undef
6 class C {
7   int i;
8 };
10 kernel void test() {
11   __local int i;
12   __local C ii;
13   // FIXME: In OpenCL C we don't accept initializers for local
14   // address space variables. User defined initialization could
15   // make sense, but would it mean that all work items need to
16   // execute it? Potentially disallowing any initialization would
17   // make things easier and assignments can be used to set specific
18   // values. This rules should make it consistent with OpenCL C.
19   //__local C c();