blob: abde76137a37c80345ab1e6f1e215d5cc3b6003d [file] [edit]
//@ compile-flags: -Zunstable-options -Zoffload=Device -Clto=fat -Csymbol-mangling-version=v0 --crate-name collision_kernels_a
//@ build-fail
//@ needs-offload
// An offload kernel whose mangled symbol collides with another item in the
// same crate must be rejected, just like any other symbol collision.
#![feature(core_intrinsics, rustc_attrs)]
#![allow(internal_features)]
#[allow(non_snake_case)]
#[no_mangle]
pub fn _RNvC19collision_kernels_a6kernel(_x: f32) {}
#[rustc_offload_kernel]
fn kernel(_x: f32) {}
//~^ ERROR symbol `_RNvC19collision_kernels_a6kernel` is already defined
fn main() {
_RNvC19collision_kernels_a6kernel(0.0);
core::intrinsics::offload::<_, _, ()>(kernel, [1, 1, 1], [1, 1, 1], 0, (0.0f32,));
}