[PATCH 3/5] libstdthreads/thrd.c: Mark path as unreachable on GCC to resolve warning
Joel Sherrill
joel at rtems.org
Mon Mar 21 16:53:28 UTC 2016
On Mon, Mar 21, 2016 at 7:33 AM, Sebastian Huber <
sebastian.huber at embedded-brains.de> wrote:
>
>
> On 21/03/16 13:31, Joel Sherrill wrote:
>
>>
>>
>> On Mon, Mar 21, 2016 at 1:26 AM, Sebastian Huber <
>> sebastian.huber at embedded-brains.de <mailto:
>> sebastian.huber at embedded-brains.de>> wrote:
>>
>>
>>
>> On 20/03/16 21:40, Joel Sherrill wrote:
>>
>> ---
>> cpukit/libstdthreads/thrd.c | 3 +++
>> 1 file changed, 3 insertions(+)
>>
>> diff --git a/cpukit/libstdthreads/thrd.c
>> b/cpukit/libstdthreads/thrd.c
>> index c2e439f..cc2d20f 100644
>> --- a/cpukit/libstdthreads/thrd.c
>> +++ b/cpukit/libstdthreads/thrd.c
>> @@ -96,6 +96,9 @@ thrd_exit(int res)
>> {
>> pthread_exit((void *)(intptr_t)res);
>> + #if defined(__GNUC__)
>> + __builtin_unreachable();
>> + #endif
>> }
>> int
>>
>>
>> We should fix the pthread_exit() declaration instead, e.g. FreeBSD
>> has this:
>>
>> void pthread_exit(void *) __dead2;
>>
>> Does that map to gcc noreturn? And does newlib have that?
>>
>
> Yes, or Noreturn if you use the appropriate C++ version. Needs
> <sys/cdefs.h>.
>
>
That moves the noreturn warning.
/data/home/joel/test-gcc/install-head/sparc-rtems4.12/include/pthread.h: In
function 'pthread_exit':
../../../../../../rtems/c/src/../../cpukit/posix/src/pthreadexit.c:78:1:
warning: 'noreturn' function does return
}
^
Other than marking pthread_exit's return as unreachable, do you have
another suggestion?
--joel
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20160321/07cdf213/attachment-0002.html>
More information about the devel
mailing list