Re: [PATCH 1/4] tracing: add DEFINE_TRACE_FMT to tracepoint.h

From: Steven Rostedt
Date: Wed Feb 25 2009 - 08:02:37 EST



On Wed, 25 Feb 2009, Peter Zijlstra wrote:

> On Tue, 2009-02-24 at 21:56 -0500, Steven Rostedt wrote:
>
> > +#define DEFINE_TRACE_FMT(name, proto, args, fmt) \
> > + DECLARE_TRACE(name, TPPROTO(proto), TPARGS(args))
> > +
>
> If TPPROTO and TPARGS were anything but empty stubs, the above would add
> them twice, no?

I guess I can rename them too.

The problem comes from passing in more than one argument. If a proto or
args has a comma, you get a nasty error about unmatched number of
parameters.

I believe that they were purposely made to be empty stubs to allow for
multiple parameters. But you are right, if that changes we need to fix it.

Since the above is only to protect against the substitution into multiple
parameters, we could probably create a new macro name to just be

#define PARAMS(args...) args
#define DEFINE_TRACE_FMT(name, proto, args, fmt) \
DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))

-- Steve

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/