//@ assembly-output: ptx-linker //@ compile-flags: --crate-type cdylib -C target-cpu=sm_80 -Z unstable-options -Clinker-flavor=llbc //@ only-nvptx64 //@ build-pass #![no_std] #![allow(dead_code)] #[panic_handler] pub fn panic(_info: &core::panic::PanicInfo) -> ! { loop {} } // -Ctarget-cpu=sm_80 directly enables sm_80 and ptx70 #[cfg(not(all(target_feature = "sm_80", target_feature = "ptx70")))] compile_error!("direct target features not enabled"); // -Ctarget-cpu=sm_80 implies all earlier sm_* and ptx* features. #[cfg(not(all( target_feature = "sm_60", target_feature = "sm_70", target_feature = "ptx50", target_feature = "ptx60", )))] compile_error!("implied target features not enabled"); // -Ctarget-cpu=sm_80 implies all earlier sm_* and ptx* features. #[cfg(target_feature = "ptx71")] compile_error!("sm_80 requires only ptx70, but ptx71 enabled");