Home | History | Annotate | Download | only in Modules
      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