|  | // RUN: rm -rf %t | 
|  | // RUN: %clang_cc1 -fmodules -fimplicit-module-maps -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 | 
|  | } |