diff options
Diffstat (limited to 'test/CodeGen/address-space.c')
-rw-r--r-- | test/CodeGen/address-space.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/CodeGen/address-space.c b/test/CodeGen/address-space.c new file mode 100644 index 0000000..3b6a8e6 --- /dev/null +++ b/test/CodeGen/address-space.c @@ -0,0 +1,20 @@ +// RUN: clang-cc -emit-llvm < %s | grep '@foo.*global.*addrspace(1)' && +// RUN: clang-cc -emit-llvm < %s | grep '@ban.*global.*addrspace(1)' && +// RUN: clang-cc -emit-llvm < %s | grep 'load.*addrspace(1)' | count 2 && +// RUN: clang-cc -emit-llvm < %s | grep 'load.*addrspace(2).. @A' && +// RUN: clang-cc -emit-llvm < %s | grep 'load.*addrspace(2).. @B' + +int foo __attribute__((address_space(1))); +int ban[10] __attribute__((address_space(1))); + +int bar() { return foo; } + +int baz(int i) { return ban[i]; } + +// Both A and B point into addrspace(2). +__attribute__((address_space(2))) int *A, *B; + +void test3() { + *A = *B; +} + |