[RFC] clang, posix: bypass static assert that does not compile with Clang
Sebastian Huber
sebastian.huber at embedded-brains.de
Tue Oct 9 10:20:46 UTC 2018
On 08/10/2018 16:07, Daniel Hellstrom wrote:
>>
>> This static assertion ensures that POSIX_SEMAPHORE_VALIDATE_OBJECT()
>> rejects semaphore pointers with a SEM_FAILED value. We could change
>> this macro to test also for SEM_FAILED, but it would result in code
>> like this
>>
>> if (sem == 0 (aka NULL) || sem == 0 (aka SEM_FAILED) || ...)
>>
>> See also:
>>
>> https://gcc.gnu.org/ml/gcc-help/2018-10/msg00021.html
>>
>> Coverity Scan crashes at this line too. GCC issues only a -Wpedantic
>> warning. In C++ the static assert would be fine. I am not sure how to
>> fix this.
>>
> I just saw that you have pushed the
> 1d39e96470b27195d35a69cc94551c403b7980bd commit that updated the
> RTEMS_STATIC_ASSERT() macro, thanks for updating this. I just wanted
> to let you know that the issue I'm seeing with clang is still there:
Yes, this change only affects legacy compilers (non-C11 default mode).
I fixed the static assertion problem like this:
https://git.rtems.org/rtems/commit/?id=acb53d53c900f21b5940554dfba8d7ad94f4bcba
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.huber at embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
More information about the devel
mailing list