On Wed, 12 Jun 2019 16:51:03 -0600 Warner Losh <i...@bsdimp.com> wrote: > On Wed, Jun 12, 2019 at 4:49 PM Gleb Smirnoff <gleb...@freebsd.org> wrote: >> On Mon, Jun 10, 2019 at 11:09:09AM +0200, Tijl Coosemans wrote: >>>> Date: Mon Jun 10 05:28:03 2019 >>>> New Revision: 348847 >>>> URL: https://svnweb.freebsd.org/changeset/base/348847 >>>> >>>> Log: >>>> Use C11 anonymous unions. >>>> >>>> PR: 215202 >>>> Reported by: glebius >>>> MFC after: 2 weeks >>>> >>>> Modified: >>>> head/sys/sys/ucred.h >>>> >>>> Modified: head/sys/sys/ucred.h >>>> >>>> ============================================================================== >>>> >>>> --- head/sys/sys/ucred.h Mon Jun 10 05:09:34 2019 (r348846) >>>> +++ head/sys/sys/ucred.h Mon Jun 10 05:28:03 2019 (r348847) >>>> @@ -89,12 +89,11 @@ struct xucred { >>>> gid_t cr_groups[XU_NGROUPS]; /* groups */ >>>> union { >>>> void *_cr_unused1; /* compatibility with old ucred */ >>>> - pid_t _pid; >>>> - } _cr; >>>> + pid_t cr_pid; >>>> + }; >>>> }; >>>> #define XUCRED_VERSION 0 >>>> >>>> -#define cr_pid _cr._pid >>>> /* This can be used for both ucred and xucred structures. */ >>>> #define cr_gid cr_groups[0] >>> >>> Isn't this a userland header that should work with non-C11 compilers? >> >> It could make sense to keep such low bar for standard headers, but ucred.h >> is BSD-specific header and struct xucred is FreeBSD specific. > > This is solvable with proper visibility, I'd think..
I think "union {" should be replaced with "__extension__ union {". That seems to kill this warning: /usr/include/sys/ucred.h:90:2: warning: anonymous unions are a C11 extension [-Wc11-extensions] union { ^ 1 warning generated. _______________________________________________ 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"