On 02/17/18 10:33, Jan Beich wrote:
Hans Petter Selasky <h...@selasky.org> writes:

On 02/17/18 01:42, Jan Beich wrote:

Hans Petter Selasky <hsela...@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
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to