I'm starting my exception handling and I am getting this error while
running:
parse: /home/opt/llvm/include/llvm/ADT/SmallVector.h:126: reference
llvm::SmallVectorTemplateCommon<llvm::EVT>::operator(unsigned int):
Assertion `begin() + idx < end()' failed.
Stack dump:
0. Running pass 'X86 DAG->DAG Instruction Selection' on function
'@_wrapped_entry'
This is coming from the execution engine. The code which produces this is:
declare i32 @leaf_exception_personality(i32, i32, i64, i8*, i8*)
define void @_wrapped_entry() {
entry:
invoke void @_entry()
to label %end unwind label %catch
catch: ; preds = %entry
landingpad void personality i32 (i32, i32, i64, i8*, i8*)*
@leaf_exception_personality
catch i8* null
br label %end
end: ; preds = %catch, %entry
ret void
}
The catch clause is intended to be a catch-all for my language, so I
assumed a null is okay.