svn commit: r348847 - head/sys/sys

Dmitry Chagin dchagin at freebsd.org
Fri Jun 14 01:26:24 UTC 2019


Hi, All! thanks for reply,

I will be back in a week and fix it, I am rafting in Eastern Siberia))



чт, 13 июня 2019 г. в 11:43, Tijl Coosemans <tijl at freebsd.org>:

> 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