about summary refs log tree commit diff
path: root/tests/ui/link-native-libs/uikit-framework.rs
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/link-native-libs/uikit-framework.rs')
-rw-r--r--tests/ui/link-native-libs/uikit-framework.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/link-native-libs/uikit-framework.rs b/tests/ui/link-native-libs/uikit-framework.rs
new file mode 100644
index 00000000000..fca0332384a
--- /dev/null
+++ b/tests/ui/link-native-libs/uikit-framework.rs
@@ -0,0 +1,25 @@
+//! Check that linking to UIKit on platforms where that is available works.
+//@ revisions: ios tvos watchos visionos
+//@ [ios]only-ios
+//@ [tvos]only-tvos
+//@ [watchos]only-watchos
+//@ [visionos]only-visionos
+//@ build-pass
+
+use std::ffi::{c_char, c_int, c_void};
+
+#[link(name = "UIKit", kind = "framework")]
+extern "C" {
+    pub fn UIApplicationMain(
+        argc: c_int,
+        argv: *const c_char,
+        principalClassName: *const c_void,
+        delegateClassName: *const c_void,
+    ) -> c_int;
+}
+
+pub fn main() {
+    unsafe {
+        UIApplicationMain(0, core::ptr::null(), core::ptr::null(), core::ptr::null());
+    }
+}