Re: [RFC patch 3/5] ftrace trace event add missing semicolumn

From: Mathieu Desnoyers
Date: Wed Jan 05 2011 - 08:56:16 EST


* Valdis.Kletnieks@xxxxxx (Valdis.Kletnieks@xxxxxx) wrote:
> On Wed, 05 Jan 2011 04:10:18 +0100, Frederic Weisbecker said:
> > On Tue, Jan 04, 2011 at 10:01:33PM -0500, Valdis.Kletnieks@xxxxxx wrote:
> > > Can DEFINE_EVENT ever be sensibly used in a context where the additional ; will
> > > cause an issue (for instance, a hypothetical array initialization like:
> > >
> > > static struct events[] = {DEFINE_EVENT(..), DEFINE_EVENT(...) }
>
> > You can't do the above as DEFINE_EVENT() do more than just creating a structure.
> > It can define functions and so.
> >
> > Plus it doesn't behave the same whether CREATE_TRACE_POINTS is defined or not:
> > it can either define or declare the functions and structures.
> >
> > > or other places we usually do the 'do { X } while (0)' trick to make the code legal?
> >
> > I just can't figure out a sane case.
>
> OK.. I was wondering if there was a corner case where we had to resolve the
> one versus two semicolon issue in a specific way to guarantee syntactic
> correctness, but it looks like this one gets to fight it out on taste/style
> grounds...

As I pointed out in my reply to Frederic, the creation of an array of events is
the exact use-case I have in mind. It allows us to shrink the code, remove
dynamic initialization code and to shrink read-write data size significantly
over the current Ftrace trace event scheme.

Thanks,

Mathieu


--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

Attachment: signature.asc
Description: Digital signature