Add regression test for a spurious import
This commit is contained in:
parent
dbb0fe9d80
commit
14cbb4b78d
7
src/test/run-make/wasm-spurious-import/Makefile
Normal file
7
src/test/run-make/wasm-spurious-import/Makefile
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
-include ../../run-make-fulldeps/tools.mk
|
||||||
|
|
||||||
|
# only-wasm32-bare
|
||||||
|
|
||||||
|
all:
|
||||||
|
$(RUSTC) main.rs -C overflow-checks=yes -C panic=abort -C lto -C opt-level=z --target wasm32-unknown-unknown
|
||||||
|
$(NODE) verify.js $(TMPDIR)/main.wasm
|
14
src/test/run-make/wasm-spurious-import/main.rs
Normal file
14
src/test/run-make/wasm-spurious-import/main.rs
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
#![crate_type = "cdylib"]
|
||||||
|
#![no_std]
|
||||||
|
|
||||||
|
#[panic_handler]
|
||||||
|
fn my_panic(_info: &core::panic::PanicInfo) -> ! {
|
||||||
|
loop {}
|
||||||
|
}
|
||||||
|
|
||||||
|
#[no_mangle]
|
||||||
|
pub fn multer(a: i128, b: i128) -> i128 {
|
||||||
|
// Trigger usage of the __multi3 compiler intrinsic which then leads to an imported
|
||||||
|
// panic function in case of a bug. We verify that no imports exist in our verifier.
|
||||||
|
a * b
|
||||||
|
}
|
9
src/test/run-make/wasm-spurious-import/verify.js
Normal file
9
src/test/run-make/wasm-spurious-import/verify.js
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
const fs = require('fs');
|
||||||
|
const process = require('process');
|
||||||
|
const assert = require('assert');
|
||||||
|
const buffer = fs.readFileSync(process.argv[2]);
|
||||||
|
|
||||||
|
let m = new WebAssembly.Module(buffer);
|
||||||
|
let imports = WebAssembly.Module.imports(m);
|
||||||
|
console.log('imports', imports);
|
||||||
|
assert.strictEqual(imports.length, 0);
|
Loading…
x
Reference in New Issue
Block a user