diff options
Diffstat (limited to 'test/SemaOpenCLCXX/method-overload-address-space.cl')
-rw-r--r-- | test/SemaOpenCLCXX/method-overload-address-space.cl | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/test/SemaOpenCLCXX/method-overload-address-space.cl b/test/SemaOpenCLCXX/method-overload-address-space.cl new file mode 100644 index 0000000000..64a279549c --- /dev/null +++ b/test/SemaOpenCLCXX/method-overload-address-space.cl @@ -0,0 +1,20 @@ +//RUN: %clang_cc1 %s -triple spir-unknown-unknown -cl-std=c++ -pedantic -verify + +struct C { + void m1() __local __local; //expected-warning{{multiple identical address spaces specified for type}} + //expected-note@-1{{candidate function}} + void m1() __global; + //expected-note@-1{{candidate function}} + void m2() __global __local; //expected-error{{multiple address spaces specified for type}} +}; + +__global C c_glob; + +__kernel void bar() { + __local C c_loc; + C c_priv; + + c_glob.m1(); + c_loc.m1(); + c_priv.m1(); //expected-error{{no matching member function for call to 'm1'}} +} |