1// RUN: %clang_cc1 %s -O0 -ffake-address-space-map -emit-llvm -o - | FileCheck %s
2
3typedef struct Foo {
4    int x;
5    float y;
6    float z;
7} Foo;
8
9// CHECK-DAG: @test.lds_int = internal addrspace(2) global i32 undef
10// CHECK-DAG: @test.lds_int_arr = internal addrspace(2) global [128 x i32] undef
11// CHECK-DAG: @test.lds_struct = internal addrspace(2) global %struct.Foo undef
12// CHECK-DAG: @test.lds_struct_arr = internal addrspace(2) global [64 x %struct.Foo] undef
13__kernel void test()
14{
15    __local int lds_int;
16    __local int lds_int_arr[128];
17    __local Foo lds_struct;
18    __local Foo lds_struct_arr[64];
19
20    lds_int = 1;
21    lds_int_arr[0] = 1;
22    lds_struct.x = 1;
23    lds_struct_arr[0].x = 1;
24}
25