// Check that linking frameworks on Apple platforms works. //@ only-apple //@ revisions: omit link weak both //@ [omit]build-fail //@ [link]run-pass //@ [weak]run-pass //@ [both]run-pass // The linker's exact error output changes between Xcode versions, depends on // linker invocation details, and the linker sometimes outputs more warnings. //@ compare-output-lines-by-subset //@ normalize-stderr-test: "linking with `.*` failed" -> "linking with `LINKER` failed" //@ normalize-stderr-test: "Undefined symbols for architecture .*" -> "ld: Undefined symbols:" //@ normalize-stderr-test: "._CFRunLoopGetTypeID.," -> "_CFRunLoopGetTypeID," #![cfg_attr(any(weak, both), feature(link_arg_attribute))] #[cfg_attr(any(link, both), link(name = "CoreFoundation", kind = "framework"))] #[cfg_attr( any(weak, both), link(name = "-weak_framework", kind = "link-arg", modifiers = "+verbatim"), link(name = "CoreFoundation", kind = "link-arg", modifiers = "+verbatim") )] extern "C" { fn CFRunLoopGetTypeID() -> core::ffi::c_ulong; } pub fn main() { unsafe { CFRunLoopGetTypeID(); } }