Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Uncaught exception: abort() called but not implicitly defined #575

Open
h0nzZik opened this issue Sep 16, 2019 · 0 comments
Open

Uncaught exception: abort() called but not implicitly defined #575

h0nzZik opened this issue Sep 16, 2019 · 0 comments

Comments

@h0nzZik
Copy link
Contributor

h0nzZik commented Sep 16, 2019

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant