On Tue, Aug 5, 2014 at 9:11 PM, Greg KH <g...@kroah.com> wrote:

> On Tue, Aug 05, 2014 at 07:58:47PM -0500, Dan McGee wrote:
> > Compilation is failing because we are doing something not allowed by the
> > language spec, but OK by GCC extensions in our MAX() macro.
> >
> > src/resolve/resolved-manager.c:759:43: error: non-const static data
> member must be initialized out of line
> >                 uint8_t buffer[CMSG_SPACE(MAX(sizeof(struct in_pktinfo),
> sizeof(struct in6_pktinfo)))
> >                                           ^
> >
> > Add a new constant that does this in a way both compilers are OK with,
> > since we know all factors in the size computation are static.
>
> Why not just fix MAX()?
>
> Mainly because 1) I'm not a preprocessor expert, and 2) this code is the
only broken usage of MAX() and it was recently introduced.

I'm all for someone fixing this the "right" way if this is deemed
incorrect, but right now one can't even compile on what most would consider
a non-experimental C toolchain, and this was the quickest and easiest fix I
could come up with.

-Dan
_______________________________________________
systemd-devel mailing list
systemd-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/systemd-devel

Reply via email to