[Wasm] Add compiler flag to disable exception handling proposal
Fail with unreachable instead of throwing an exception Merge-request: KT-MR-11481 Merged-by: Svyatoslav Kuzmich <svyatoslav.kuzmich@jetbrains.com>
This commit is contained in:
committed by
Space Team
parent
ec73815f80
commit
47ade4530c
@@ -0,0 +1,46 @@
|
||||
// TARGET_BACKEND: WASM
|
||||
// DISABLE_WASM_EXCEPTION_HANDLING
|
||||
// MODULE: main
|
||||
// FILE: foo.kt
|
||||
|
||||
@JsExport
|
||||
fun sumNumbers(x: Int): Int =
|
||||
(0..x).toList().sum()
|
||||
|
||||
@JsExport
|
||||
fun add(x: Int, y: Int): Int =
|
||||
x + y
|
||||
|
||||
@JsExport
|
||||
fun throws() {
|
||||
try {
|
||||
error("Test Error")
|
||||
} catch (e: Throwable) {
|
||||
// This code normally catches the error,
|
||||
// but with exception handling disabled it should fail with trap
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// FILE: entry.mjs
|
||||
|
||||
import wasmExports from "./index.mjs";
|
||||
|
||||
if (wasmExports.add(10, 20) !== 30) {
|
||||
throw "Fail add";
|
||||
}
|
||||
|
||||
if (wasmExports.sumNumbers(10) !== 55) {
|
||||
throw "Fail sumNumbers";
|
||||
}
|
||||
|
||||
var thrown = false;
|
||||
try {
|
||||
wasmExports.throws();
|
||||
} catch(e) {
|
||||
thrown = true;
|
||||
}
|
||||
|
||||
if (!thrown) {
|
||||
throw "Fail exception was not thrown";
|
||||
}
|
||||
Reference in New Issue
Block a user