svn commit: r348847 - head/sys/sys
Tijl Coosemans
tijl at FreeBSD.org
Thu Jun 13 08:43:20 UTC 2019
On Wed, 12 Jun 2019 16:51:03 -0600 Warner Losh <imp at bsdimp.com> wrote:
> On Wed, Jun 12, 2019 at 4:49 PM Gleb Smirnoff <glebius at 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.
More information about the svn-src-all
mailing list