On Wed, 2011-01-12 at 13:52 +0000, Tony Finch wrote:
> 
> which is clearly bogus because on non-gcc it leads to syntax errors in
> many macros like the following and the ones I broke in memcheck.h
> 
> #define RUNNING_ON_VALGRIND  __extension__                        \
>    ({unsigned int _qzz_res;                                       \
>     VALGRIND_DO_CLIENT_REQUEST(_qzz_res, 0 /* if not */,          \
>                                VG_USERREQ__RUNNING_ON_VALGRIND,   \
>                                0, 0, 0, 0, 0);                    \
>     _qzz_res;                                                     \
>    })
> 
> I'm not immediately sure how to fix it properly. 

Can we turn the ({ ... }) extension into a static inline function? Or is
that not sufficiently portable either?

-- 
David Woodhouse                            Open Source Technology Centre
[email protected]                              Intel Corporation


-- 
## List details at http://lists.exim.org/mailman/listinfo/exim-dev Exim details 
at http://www.exim.org/ ##

Reply via email to