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/ ##

Reply via email to