brintos

brintos / llvm-project-archived public Read only

0
0
Text · 865 B · 55cfef3 Raw
19 lines · plain
1//RUN: %clang_cc1 %s -triple spir-unknown-unknown -pedantic -verify2 3struct C {4  auto fGlob() __global -> decltype(this);5  auto fGen() -> decltype(this);6  auto fErr() __global __local -> decltype(this); //expected-error{{multiple address spaces specified for type}}7};8 9void bar(__local C*);10// expected-note@-1{{candidate function not viable: cannot pass pointer to address space '__global' as a pointer to address space '__local' in 1st argument}}11// expected-note@-2{{candidate function not viable: cannot pass pointer to default address space as a pointer to address space '__local' in 1st argument}}12 13__global C Glob;14void foo(){15bar(Glob.fGlob()); // expected-error{{no matching function for call to 'bar'}}16// FIXME: AS of 'this' below should be correctly deduced to generic17bar(Glob.fGen()); // expected-error{{no matching function for call to 'bar'}}18}19