Re: [PATCH 1/1] newlib/libc/include/setjmp.h: Add returns_twice attribute to setjmp()
Brian Inglis <[email protected]>
| Newsgroups | gmane.comp.lib.newlib |
|---|---|
| Organization | Systematic Software |
| Message-ID | <[email protected]> |
On 2025-10-01 01:22, Torbjorn SVENSSON wrote:
> 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.
>> +#endif
>> _END_STD_C
Shouldn't the conditional be around the attribute only?
-int setjmp (jmp_buf __jmpb);
+int setjmp (jmp_buf __jmpb)
+#ifdef __GNUC__
+ __attribute__ ((returns_twice))
+#endif
+ ;
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retrancher but when there is no more to cut
-- Antoine de Saint-Exupéry