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