Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 6 Jun 2018 06:40:17 -0500
From:      Benjamin Kaduk <bjkfbsd@gmail.com>
To:        Ravi Pokala <rpokala@freebsd.org>
Cc:        Mateusz Guzik <mjg@freebsd.org>, src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org,  svn-src-head@freebsd.org
Subject:   Re: svn commit: r334702 - head/sys/sys
Message-ID:  <CAJ5_RoALt_%2BASNN5E2wBch-CEn0sesJO=1Z2aJsz1EwsesdFiQ@mail.gmail.com>
In-Reply-To: <6E6E92B2-7536-4281-8EAF-72823E84902E@panasas.com>
References:  <201806060508.w56586c9053686@repo.freebsd.org> <6E6E92B2-7536-4281-8EAF-72823E84902E@panasas.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Jun 6, 2018 at 6:35 AM, Ravi Pokala <rpokala@freebsd.org> wrote:

> Hi Mateusz,
>
> =EF=BB=BF-----Original Message-----
> From: <owner-src-committers@freebsd.org> on behalf of Mateusz Guzik
> <mjg@FreeBSD.org>
> Date: 2018-06-06, Wednesday at 01:08
> To: <src-committers@freebsd.org>, <svn-src-all@freebsd.org>, <
> svn-src-head@freebsd.org>
> Subject: svn commit: r334702 - head/sys/sys
>
> > ...
> >  #ifdef _KERNEL
> >  #define      malloc(size, type, flags) ({
>       \
>
> Now that I'm taking another look at this, I'm confused as to why the
> entire macro expansion is inside parentheses? (The braces make sense, sin=
ce
> this is a block with local variables which need to be contained.)
>

This is a gcc (and clang) extension to allow the macro body to be a code
block -- standard C gets unhappy with just the curly braces.
https://gcc.gnu.org/onlinedocs/gcc/Statement-Exprs.html is a maybe-relevant
page that google found me.

-Ben



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAJ5_RoALt_%2BASNN5E2wBch-CEn0sesJO=1Z2aJsz1EwsesdFiQ>