brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.2 KiB · 2c388c5 Raw
40 lines · c
1// RUN: %clang_cc1 -triple arm64-apple-xros1 -fapplication-extension -verify=visionos %s 2>&12 3__attribute__((availability(xros, unavailable))) // visionos-warning {{unknown platform 'xros' in availability macro}}4void xros_unavail(); // visionos-note {{}}5 6__attribute__((availability(xros_app_extension, unavailable))) // visionos-warning {{unknown platform 'xros_app_extension' in availability macro}}7void xros_ext_unavail(); // visionos-note {{}}8 9__attribute__((availability(visionOSApplicationExtension, unavailable)))10void visionos_ext_unavail(); // visionos-note {{}}11 12void use() {13  xros_unavail(); // visionos-error {{'xros_unavail' is unavailable: not available on visionOS}}14  xros_ext_unavail(); // visionos-error {{'xros_ext_unavail' is unavailable: not available on visionOS}}15  visionos_ext_unavail(); // visionos-error {{'visionos_ext_unavail' is unavailable: not available on visionOS}}16}17 18__attribute__((availability(visionOS, introduced=1.0)))19void visionos_introduced_1();20 21__attribute__((availability(visionos, introduced=1.1)))22void visionos_introduced_1_1(); // visionos-note 4 {{'visionos_introduced_1_1' has been marked as being introduced in visionOS 1.1 here, but the deployment target is visionOS 1}}23 24void use2() {25  if (__builtin_available(iOS 16.1, *))26    visionos_introduced_1_1(); // visionos-warning {{'visionos_introduced_1_1' is only available on visionOS 1.1 or newer}} visionos-note {{enclose}}27                              28  if (__builtin_available(xrOS 1.1, *)) // visionos-error {{unrecognized platform name xrOS}}29    visionos_introduced_1_1(); // visionos-warning {{'visionos_introduced_1_1' is only available on visionOS 1.1 or newer}} visionos-note {{enclose}}30  31  if (__builtin_available(xros_app_extension 1, *)) // visionos-error {{unrecognized platform name xros_app_extension}}32    visionos_introduced_1_1(); // visionos-warning {{'visionos_introduced_1_1' is only available on visionOS 1.1 or newer}} visionos-note {{enclose}}33 34  if (__builtin_available(visionOS 1.1, *))35    visionos_introduced_1_1();36 37  visionos_introduced_1();38  visionos_introduced_1_1(); // visionos-warning {{'visionos_introduced_1_1' is only available on visionOS 1.1 or newer}} visionos-note {{enclose}}39}40