rust/src/test/codegen/no-output-asm-is-volatile.rs
Thomas Lively 9a55103b98 Upgrade Emscripten targets to use upstream LLVM backend
- Refactors the Emscripten target spec to share code with other wasm
   targets.
 - Replaces the incorrect wasm32 C call ABI with the old asmjs
   version, which is correct for both wasm32 and JS.
 - Updates the varargs ABI used by Emscripten and deletes the old one.
 - Removes the obsolete wasm32-experimental-emscripten target.
 - Temporarily makes Emscripten targets use panic=abort by default
   because supporting unwinding will require an LLVM patch.
2019-10-04 00:47:21 -07:00

14 lines
316 B
Rust

// compile-flags: -O
#![feature(asm)]
#![crate_type = "lib"]
// Check that inline assembly expressions without any outputs
// are marked as having side effects / being volatile
// CHECK-LABEL: @assembly
#[no_mangle]
pub fn assembly() {
unsafe { asm!("") }
// CHECK: tail call void asm sideeffect "", {{.*}}
}