// This test was created in response to an obscure miscompilation bug, only // visible with the -O3 flag passed to the cc compiler when trying to obtain // a native static library for the sake of foreign function interface. This // flag could cause certain integer types to fail to be zero-extended, resulting // in type casting errors. After the fix in #97800, this test attempts integer casting // while simultaneously interfacing with a C library and using the -O3 flag. // See https://github.com/rust-lang/rust/issues/97463 //@ ignore-cross-compile // Reason: The compiled binary is executed. use run_make_support::{build_native_static_lib_optimized, run, rustc}; fn main() { // The issue exercised by this test specifically needs an optimized native static lib. build_native_static_lib_optimized("bad"); rustc().input("param_passing.rs").opt_level("3").run(); run("param_passing"); }