On Mon, 2024-10-07 at 20:37 +0800, Xi Ruoyao wrote:
> On Mon, 2024-10-07 at 14:25 +0200, Jakub Jelinek wrote:
> > On Mon, Oct 07, 2024 at 03:05:56PM +0300, Дилян Палаузов wrote:
> > > does [[noreturn]] optimize the generated [[noreturn]] function itself, or
> > > it optimizes the calls to the [[noreturn]] function?  Hence, in the latter
> > > case optimizations are done based on function declaration, irrespective of
> > > function body.
> > 
> > Of course the latter, that is the whole point of the attribute.
> > In the definition of [[noreturn]] function itself, all it can do is
> > warn if the function does return anyway.
> 
> Technically it also turns the return statements in the function body
> into __builtin_unreachable(), if we call this an "optimization."  In C++
> it's done for non-void function even without [[noreturn]] as allowed by
> the C++ standard.

Sorry, for C++ I only mean the implicit return at the end of function.

Also gcc-patches isn't a correct list for discussing this.  It should be
in gcc-help instead.

-- 
Xi Ruoyao <xry...@xry111.site>
School of Aerospace Science and Technology, Xidian University

Reply via email to