summaryrefslogtreecommitdiff
path: root/test/binaryen.js/sideffects.js
diff options
context:
space:
mode:
Diffstat (limited to 'test/binaryen.js/sideffects.js')
-rw-r--r--test/binaryen.js/sideffects.js12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/binaryen.js/sideffects.js b/test/binaryen.js/sideffects.js
index a486099dc..7db9ab329 100644
--- a/test/binaryen.js/sideffects.js
+++ b/test/binaryen.js/sideffects.js
@@ -9,6 +9,7 @@ console.log("SideEffects.ReadsMemory=" + binaryen.SideEffects.ReadsMemory);
console.log("SideEffects.WritesMemory=" + binaryen.SideEffects.WritesMemory);
console.log("SideEffects.ImplicitTrap=" + binaryen.SideEffects.ImplicitTrap);
console.log("SideEffects.IsAtomic=" + binaryen.SideEffects.IsAtomic);
+console.log("SideEffects.Throws=" + binaryen.SideEffects.Throws);
console.log("SideEffects.Any=" + binaryen.SideEffects.Any);
var module = new binaryen.Module();
@@ -92,3 +93,14 @@ assert(
==
binaryen.SideEffects.ImplicitTrap
);
+
+// If exception handling feature is enabled, calls can throw
+var module_all_features = new binaryen.Module();
+module_all_features.setFeatures(binaryen.Features.All);
+assert(
+ binaryen.getSideEffects(
+ module.call("test", [], binaryen.i32)
+ )
+ ==
+ binaryen.SideEffects.Calls | binaryen.SideEffects.Throws
+);