diff options
Diffstat (limited to 'test/Modules/attr-unavailable.m')
-rw-r--r-- | test/Modules/attr-unavailable.m | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/test/Modules/attr-unavailable.m b/test/Modules/attr-unavailable.m new file mode 100644 index 0000000000000..0188a84d98161 --- /dev/null +++ b/test/Modules/attr-unavailable.m @@ -0,0 +1,25 @@ +// RUN: rm -rf %t +// RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I %S/Inputs/attr-unavailable %s -fsyntax-only -verify + +@import two; +void f(id x) { + [x method1]; +} + +@import oneA; +void g(id x) { + [x method2]; // expected-error{{'method2' is unavailable}} + // expected-note@oneA.h:2 {{'method2' has been explicitly marked unavailable here}} + [x method3]; // expected-error{{'method3' is unavailable}} + // expected-note@oneA.h:3 {{'method3' has been explicitly marked unavailable here}} +} + +@import oneB; +void h(id x) { + [x method2]; // could be from interface D in module oneB +} + +@import oneC; +void i(id x) { + [x method3]; // could be from interface E in module oncC +} |