This patch proposes a new function attribute, willreturn, to indicate that a call of this function will either exhibit undefined behavior or comes back to the invoking call site.
This attribute guarantees that the function doesn't have any loop, recursion or terminating function like abort, exit.
We need an argue about handling an exception and invoke.