[WebAssembly] Error out on invalid personality functions
Without explicitly checking and erroring out, an invalid personality function, which is not `__gxx_wasm_personality_v0`, caused a segmentation fault down the line because `WasmEHFuncInfo` was not created. This explicitly checks the validity of personality functions in functions with EH pads and errors out explicitly with a helpful error message. This also adds some more assertions to ensure `WasmEHFuncInfo` is correctly created and non-null. Invalid personality functions wouldn't be generated by our Clang, but can be present in handwritten ll files, and more often, in files transformed by passes like `metarenamer`, which is often used with `bugpoint` to simplify names in `bugpoint`-reduced files. Reviewed By: dschuff Differential Revision: https://reviews.llvm.org/D152203
Loading
Please sign in to comment