
- 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.
26 lines
832 B
Rust
26 lines
832 B
Rust
// Check extern items cannot be const + `rustfix` suggests using
|
|
// extern static.
|
|
//
|
|
// #54388: an unused reference to an undefined static may or may not
|
|
// compile. To sidestep this by using one that *is* defined.
|
|
|
|
// run-rustfix
|
|
// ignore-wasm32-bare no external library to link to.
|
|
// ignore-asmjs wasm2js does not support source maps yet
|
|
// compile-flags: -g
|
|
#![feature(rustc_private)]
|
|
extern crate libc;
|
|
|
|
#[link(name = "rust_test_helpers", kind = "static")]
|
|
extern "C" {
|
|
static rust_dbg_static_mut: libc::c_int; //~ ERROR extern items cannot be `const`
|
|
}
|
|
|
|
fn main() {
|
|
// We suggest turning the (illegal) extern `const` into an extern `static`,
|
|
// but this also requires `unsafe` (a deny-by-default lint at comment time,
|
|
// future error; Issue #36247)
|
|
unsafe {
|
|
let _x = rust_dbg_static_mut;
|
|
}
|
|
}
|