xref: /aosp_15_r20/external/clang/test/Sema/attr-availability-app-extensions.c (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li // RUN: %clang_cc1 -triple x86_64-apple-macosx10.9.0 -fsyntax-only -fapplication-extension %s -verify
2*67e74705SXin Li // RUN: %clang_cc1 -triple armv7-apple-ios9.0 -fsyntax-only -fapplication-extension %s -verify
3*67e74705SXin Li // RUN: %clang_cc1 -triple arm64-apple-tvos3.0 -fsyntax-only -fapplication-extension -DTVOS=1 -verify %s
4*67e74705SXin Li // RUN: %clang_cc1 -triple arm64-apple-tvos3.0 -fsyntax-only -fapplication-extension -verify %s
5*67e74705SXin Li 
6*67e74705SXin Li #if __has_feature(attribute_availability_app_extension)
7*67e74705SXin Li  __attribute__((availability(macosx_app_extension,unavailable)))
8*67e74705SXin Li #ifndef TVOS
9*67e74705SXin Li  __attribute__((availability(ios_app_extension,unavailable)))
10*67e74705SXin Li #else
11*67e74705SXin Li  __attribute__((availability(tvos_app_extension,unavailable)))
12*67e74705SXin Li #endif
13*67e74705SXin Li #endif
14*67e74705SXin Li void f0(int); // expected-note {{'f0' has been explicitly marked unavailable here}}
15*67e74705SXin Li 
16*67e74705SXin Li __attribute__((availability(macosx,unavailable)))
17*67e74705SXin Li #ifndef TVOS
18*67e74705SXin Li __attribute__((availability(ios,unavailable)))
19*67e74705SXin Li #else
20*67e74705SXin Li   __attribute__((availability(tvos,unavailable)))
21*67e74705SXin Li #endif
22*67e74705SXin Li void f1(int); // expected-note {{'f1' has been explicitly marked unavailable here}}
23*67e74705SXin Li 
test()24*67e74705SXin Li void test() {
25*67e74705SXin Li   f0(1); // expected-error {{'f0' is unavailable: not available on}}
26*67e74705SXin Li   f1(1); // expected-error {{'f1' is unavailable}}
27*67e74705SXin Li }
28*67e74705SXin Li 
29