summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMads Marquart <mads@marquart.dk>2024-02-22 04:01:34 +0100
committerMads Marquart <mads@marquart.dk>2024-04-10 17:43:45 +0200
commitff3f0a34673a22d439864e5d72038f252d6595e5 (patch)
tree0d675129309866942f66d331b2629bc24d9bc37d
parent18d24349c68f35b5381712e5e6cbb5b808442e5d (diff)
Add test for linking to UIKit
-rw-r--r--tests/ui/linkage-attr/uikit-framework.rs25
1 files changed, 25 insertions, 0 deletions
diff --git a/tests/ui/linkage-attr/uikit-framework.rs b/tests/ui/linkage-attr/uikit-framework.rs
new file mode 100644
index 00000000000..fca0332384a
--- /dev/null
+++ b/tests/ui/linkage-attr/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());
+ }
+}