Upgrade Emscripten targets to use upstream LLVM backend
- Compatible with Emscripten 1.38.46-upstream or later upstream. - Refactors the Emscripten target spec to share code with other wasm targets. - Replaces the old incorrect wasm32 C call ABI with the correct one, preserving the old one as wasm32_bindgen_compat for wasm-bindgen compatibility. - Updates the varargs ABI used by Emscripten and deletes the old one. - Removes the obsolete wasm32-experimental-emscripten target. - Uses EMCC_CFLAGS on CI to avoid the timeout problems with #63649.
This commit is contained in:
parent
0e8a4b441c
commit
2bf59bea48
144 changed files with 378 additions and 538 deletions
|
|
@ -1,5 +1,5 @@
|
|||
// run-pass
|
||||
// ignore-wasm32-bare always compiled as panic=abort right now
|
||||
// ignore-emscripten compiled with panic=abort by default
|
||||
|
||||
// Check that values are not leaked when a dtor panics (#14875)
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
// build-pass
|
||||
// ignore-asmjs wasm2js does not support source maps yet
|
||||
// compile-flags: -g
|
||||
|
||||
pub struct Dst {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
// run-pass
|
||||
// aux-build:issue-24687-lib.rs
|
||||
// compile-flags:-g
|
||||
// ignore-asmjs wasm2js does not support source maps yet
|
||||
|
||||
extern crate issue_24687_lib as d;
|
||||
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
// as options to the compiler.
|
||||
|
||||
// compile-flags:-g -g -O -O
|
||||
// ignore-asmjs wasm2js does not support source maps yet
|
||||
|
||||
fn main() {
|
||||
assert_eq!(1, 1);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
// run-pass
|
||||
// compile-flags:-g
|
||||
// ignore-asmjs wasm2js does not support source maps yet
|
||||
|
||||
fn helper<F: FnOnce(usize) -> bool>(_f: F) {
|
||||
print!("");
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// run-pass
|
||||
// ignore-wasm32-bare compiled with panic=abort by default
|
||||
// ignore-emscripten compiled with panic=abort by default
|
||||
|
||||
use std::panic;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
// run-pass
|
||||
// compile-flags: -g
|
||||
// ignore-asmjs wasm2js does not support source maps yet
|
||||
|
||||
use std::ops::Deref;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// run-pass
|
||||
// ignore-windows
|
||||
// ignore-macos
|
||||
// ignore-wasm32-bare common linkage not implemented right now
|
||||
// ignore-emscripten common linkage not implemented right now
|
||||
|
||||
#![feature(linkage)]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
// run-pass
|
||||
// compile-flags:-g
|
||||
// ignore-asmjs wasm2js does not support source maps yet
|
||||
|
||||
// In this test we just want to make sure that the code below does not lead to
|
||||
// a debuginfo verification assertion during compilation. This was caused by the
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
// Regression test for #36856.
|
||||
|
||||
// compile-flags:-g
|
||||
// ignore-asmjs wasm2js does not support source maps yet
|
||||
|
||||
fn g() -> bool {
|
||||
false
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
// Regression test for #42210.
|
||||
|
||||
// compile-flags: -g
|
||||
// ignore-asmjs wasm2js does not support source maps yet
|
||||
|
||||
trait Foo {
|
||||
fn foo() { }
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
// run-pass
|
||||
// ignore-wasm32-bare compiled with panic=abort by default
|
||||
// ignore-emscripten compiled with panic=abort by default
|
||||
|
||||
use std::panic;
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
// run-pass
|
||||
#![allow(unused_variables)]
|
||||
// compile-flags:--test -g
|
||||
// ignore-asmjs wasm2js does not support source maps yet
|
||||
|
||||
#[cfg(target_os = "macos")]
|
||||
#[test]
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
// run-pass
|
||||
// compile-flags:--test -O
|
||||
|
||||
// ignore-emscripten compiled with panic=abort by default
|
||||
|
||||
#[test]
|
||||
#[should_panic(expected = "creating inhabited type")]
|
||||
fn test() {
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@
|
|||
|
||||
// compile-flags:-g
|
||||
// ignore-pretty issue #37195
|
||||
// ignore-asmjs wasm2js does not support source maps yet
|
||||
|
||||
#![feature(non_ascii_idents)]
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,4 @@
|
|||
// build-pass (FIXME(62277): could be check-pass?)
|
||||
// ignore-emscripten no i128 support
|
||||
|
||||
fn fibs(n: u32) -> impl Iterator<Item=u128> {
|
||||
(0 .. n)
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
// run-pass
|
||||
// compile-flags:-C debuginfo=2
|
||||
// ignore-asmjs wasm2js does not support source maps yet
|
||||
|
||||
fn foo() -> impl Copy {
|
||||
foo
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue