[PATCH] D21232: Add attribute noreturn to functions that throw

Aditya Kumar via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 24 11:05:05 PDT 2016


hiraditya added a comment.

In https://reviews.llvm.org/D21232#524375, @mclow.lists wrote:

> My understanding of `noreturn` is that control will never return to the caller.  That's not the case if the call throws an exception - control returns to the caller, searching for catch blocks.


>From https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#Common-Function-Attributes

The noreturn keyword does not affect the exceptional path when that applies: a noreturn-marked function may still return to the caller by throwing an exception or calling longjmp.


https://reviews.llvm.org/D21232





More information about the llvm-commits mailing list