// RUN: %clang_cc1 -emit-llvm < %s | grep '@foo.*global.*addrspace(1)' // RUN: %clang_cc1 -emit-llvm < %s | grep '@ban.*global.*addrspace(1)' // RUN: %clang_cc1 -emit-llvm < %s | grep 'load.*addrspace(1)' | count 2 // RUN: %clang_cc1 -emit-llvm < %s | grep 'load.*addrspace(2).. @A' // RUN: %clang_cc1 -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; }