-
Notifications
You must be signed in to change notification settings - Fork 43
Open
Description
The standard says in 15.3/9
If no matching handler is found, the function
std::terminate()is called; whether or not the stack is unwound before this call to std::terminate() is implementation-defined.
This is implemented; however, somehow abort() gets called, and that gets stuck:
`BuiltinCallOp`(
lvcpp(
loc(obj(#token("0","Int"),#token("0","Int"),builtinCppSymbol(#token("\"abort\"","String"))),#token("0","Int")),
`noTrace_CPP-TRACE-SYNTAX`(.KList),
tcpp(
quals(`.Set`(.KList)),
`.Set`(.KList),
cppFunctionType(
tcpp(quals(`.Set`(.KList)),`.Set`(.KList),`void_CPP-TYPING-SYNTAX`(.KList)),
`.List{"_,__CPP-TYPING-SORTS"}`(.KList),
`noMethod_CPP-TYPING-SYNTAX`(.KList),
`CLinkage_COMMON-SYNTAX`(.KList),
`noexcept(false)_CPP-TYPING-SYNTAX`(.KList)
)
)
),
#token("false","Bool"),
`.List`(.KList)
)
See https://github.com/kframework/c-semantics/blob/master/semantics/cpp/library/exception.k
Metadata
Metadata
Assignees
Labels
No labels