svn commit: r329371 - head/sys/compat/linuxkpi/common/include/asm
Hans Petter Selasky
hps at selasky.org
Sat Feb 17 09:47:47 UTC 2018
On 02/17/18 10:33, Jan Beich wrote:
> Hans Petter Selasky <hps at selasky.org> writes:
>
>> On 02/17/18 01:42, Jan Beich wrote:
>>
>>> Hans Petter Selasky <hselasky at FreeBSD.org> writes:
>>>
>>>> Author: hselasky
>>>> Date: Fri Feb 16 15:20:21 2018
>>>> New Revision: 329371
>>>> URL: https://svnweb.freebsd.org/changeset/base/329371
>>>>
>>>> Log:
>>>> Allow the cmpxchg() macro in the LinuxKPI to work on pointers without
>>>> generating compiler warnings, -Wint-conversion .
>>> [...]
>>>
>>> To generate errors instead ?
>>>
>>> $ make clean all -C /usr/ports/graphics/drm-next-kmod
>>> [...]
>>> drm_lock.c:72:10: error: flexible array member 'u8' in a union is not allowed
>>> prev = cmpxchg(lock, old, new);
>>> ^
>>
>> I believe this is a regression issue in GCC:
>>
>> https://gcc.gnu.org/ml/gcc-patches/2016-07/msg01505.html
>
> If you didn't notice that bug is for C++, not C. GCC and Clang accept
> flexible array members in unions only in C++. cmpxchg() from linuxkpi
> doesn't seem to be used anywhere in the tree. If the macro didn't expand
> there's nothing to produce an error for.
>
> Anyway, I confirm r329447 fixed graphics/drm-next-kmod build.
>
Hi,
It looks like there has been a testing issue on my side:
drm_lock.c:72:10: error: field has incomplete type 'u64 []'
This is an older clang.
Thanks for reporting!
--HPS
More information about the svn-src-head
mailing list