xref: /aosp_15_r20/external/clang/test/Modules/attr-unavailable.m (revision 67e74705e28f6214e480b399dd47ea732279e315)
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               // [email protected]:2 {{'method2' has been explicitly marked unavailable here}}
13  [x method3]; // expected-error{{'method3' is unavailable}}
14               // [email protected]: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