mclow.lists added a comment. 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. https://reviews.llvm.org/D21232