[PATCH 1/1] newlib/libc/include/setjmp.h: Add returns_twice attribute to setjmp()

Torbjorn SVENSSON torbjorn.svensson@foss.st.com
Wed Oct 1 07:22:27 GMT 2025


Hi Joel,

On 2025-09-30 16:49, Joel Sherrill wrote:
> The setjmp() function needs this attribute to help GCC avoid false
> positives for the -Wclobbered warning. The -Wclobbered warning is
> part of -Wextra.
> ---
>   newlib/libc/include/setjmp.h | 7 ++++++-
>   1 file changed, 6 insertions(+), 1 deletion(-)
> 
> diff --git a/newlib/libc/include/setjmp.h b/newlib/libc/include/setjmp.h
> index a2830b275..5c16321a4 100644
> --- a/newlib/libc/include/setjmp.h
> +++ b/newlib/libc/include/setjmp.h
> @@ -17,7 +17,12 @@ void	longjmp (jmp_buf __jmpb, int __retval)
>   #else
>   void	longjmp (jmp_buf __jmpb, int __retval);
>   #endif
> -int	setjmp (jmp_buf __jmpb);
> +
> +#ifdef __GNUC__
> +int	setjmp (jmp_buf __jmpb)
> +			__attribute__ ((returns_twice));;

I suppose you only want a single semi-colon here.

> +#else

I think you should also drop the empty "#else" block.

Kind regards,
Torbjörn

> +#endif
>   
>   _END_STD_C
>   



More information about the Newlib mailing list