================
@@ -0,0 +1,131 @@
+// RUN: %clang_cc1 -triple arm64-apple-ios26.0 -fsyntax-only -verify %s
+// RUN: %clang_cc1 -triple x86_64-apple-macos26.0 -fsyntax-only -verify %s
+// RUN: %clang_cc1 -triple arm64-apple-tvos26.0 -fsyntax-only -verify %s
+// RUN: %clang_cc1 -triple x86_64-apple-macos26.0 
-darwin-target-variant-triple x86_64-apple-ios27.0-macabi -fsyntax-only -verify 
%s
+
+// Test @available and __builtin_available with anyAppleOS.
+
+// Declarations with anyAppleOS availability.
+void func_introduced_26(void) __attribute__((availability(anyAppleOS, 
introduced=26.0)));
+void func_introduced_27(void) __attribute__((availability(anyAppleOS, 
introduced=27.0))); // expected-note {{has been marked as being introduced in}}
+void func_deprecated_27(void) __attribute__((availability(anyAppleOS, 
introduced=26.0, deprecated=27.0)));
+void func_obsoleted_28(void) __attribute__((availability(anyAppleOS, 
introduced=26.0, obsoleted=28.0)));
+void func_unavailable(void) __attribute__((availability(anyAppleOS, 
unavailable))); // expected-note 2 {{has been explicitly marked unavailable 
here}}
+
+void test_unguarded() {
+  // Should be available - no warning
+  func_introduced_26();
+
+  // Should warn - introduced in 27.0, deployment target is 26.0
+  func_introduced_27(); // expected-warning {{only available on}} 
expected-note {{enclose 'func_introduced_27' in an @available check to silence 
this warning}}
+
+  // Should be available but deprecated - might warn depending on deployment 
target
----------------
ahatanak wrote:

I moved tests here to `attr-availability-anyappleos.c` and added a few more 
tests there.

https://github.com/llvm/llvm-project/pull/181953
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to