1 // RUN: rm -rf %t 2 // RUN: %clang_cc1 -fmodules -fmodules-cache-path=%t -I %S/Inputs/attr-unavailable %s -fsyntax-only -verify 3 4 @import two; 5 void f(id x) { 6 [x method1]; 7 } 8 9 @import oneA; 10 void g(id x) { 11 [x method2]; // expected-error{{'method2' is unavailable}} 12 // expected-note (a] oneA.h:2 {{'method2' has been explicitly marked unavailable here}} 13 [x method3]; // expected-error{{'method3' is unavailable}} 14 // expected-note (a] oneA.h:3 {{'method3' has been explicitly marked unavailable here}} 15 } 16 17 @import oneB; 18 void h(id x) { 19 [x method2]; // could be from interface D in module oneB 20 } 21 22 @import oneC; 23 void i(id x) { 24 [x method3]; // could be from interface E in module oncC 25 } 26