diff options
Diffstat (limited to 'test/passes/dwarf_with_exceptions.cpp')
-rw-r--r-- | test/passes/dwarf_with_exceptions.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/test/passes/dwarf_with_exceptions.cpp b/test/passes/dwarf_with_exceptions.cpp new file mode 100644 index 000000000..283b30064 --- /dev/null +++ b/test/passes/dwarf_with_exceptions.cpp @@ -0,0 +1,14 @@ +void foo(); +void dwarf_with_exceptions() { + try { + foo(); + } catch (...) { + foo(); + } +} +// How to generate dwarf_with_exceptions.wasm: +// $ clang++ -std=c++14 --target=wasm32-unknown-unknown -g -fwasm-exceptions -Xclang -disable-O0-optnone -c -S -emit-llvm dwarf_with_exceptions.cpp -o temp.ll +// $ opt -S -mem2reg -simplifycfg temp.ll -o dwarf_with_exceptions.ll +// Remove some personal info from dwarf_with_exceptions.ll +// $ llc -exception-model=wasm -mattr=+exception-handling -filetype=obj dwarf_with_exceptions.ll -o dwarf_with_exceptions.o +// $ wasm-ld --no-entry --no-gc-sections --allow-undefined dwarf_with_exceptions.o -o dwarf_with_exceptions.wasm |