On Wed, Jan 12, 2011 at 3:28 PM, Tony Finch <[email protected]> wrote: > On Wed, 12 Jan 2011, David Woodhouse wrote: >> >> Can we turn the ({ ... }) extension into a static inline function? Or is >> that not sufficiently portable either? > > No, nested functions are not allowed in standard C. > > It looks to me like the macros were originally written so that the first > argument was supposed to be an lvalue to receive the result, and they were > not supposed to be used in an expression context. To make the > block-expression wrappers work, I think the basic > VALGRIND_DO_CLIENT_REQUEST() macro will have to be changed to return a > result rather than take an lvalue.
Please have a look at vg_VALGRIND_DO_CLIENT_REQUEST_EXPR() in <valgrind/valgrind.h> (as included in version 3.6.0). Bart. -- ## List details at http://lists.exim.org/mailman/listinfo/exim-dev Exim details at http://www.exim.org/ ##
