Re: [PATCH RFC v1 1/4] perf: Introduce extended syscall error reporting

Peter Zijlstra
2015-08-05T15:35:22Z

On Fri, Jul 24, 2015 at 02:45:56PM +0300, Alexander Shishkin wrote:
> +#define __perf_err(__e, __c, __m) ({ \
> + static struct perf_err_site \
> + __attribute__ ((unused,__section__("__perf_err"))) \
> + __err_site = { \
> + .message = (__m), \
> + .owner = PERF_MODNAME, \
> + .code = __builtin_constant_p((__c)) ? \
> + (__c) : 0, \
> + }; \
> + (__e) = &__err_site; \
> +})

Why is __e an argument at all? Why not simply return &__err_site ?