Re: [PATCH 1/19] MUTEX: Introduce simple mutex implementation

Steven Rostedt
2005-12-15T20:58:27Z

On Thu, 2005-12-15 at 21:20 +0300, Nikita Danilov wrote:

> Going off at a tangent (or tangle, rather), why do we need DECLARE_FOO()
> macros at all? They
>
> - do not look like C variable declarations, hide variable type, and
> hence are confusing,
>
> - contrary to their naming actually _define_ rather than _declare_ an
> object.
>
> In most cases
>
> type var = INIT_FOO;
>
> is much better (more readable and easier to understand) than
>
> DECLARE_FOO(var); /* what is the type of var? */
>
> In the cases where initializer needs an address of object being
> initialized
>
> type var = INIT_FOO(var);
>
> can be used.

That's just error prone. In the RT patch we had several bugs caused by
cut and paste errors like:

type foo = INIT_TYPE(foo);
type bar = INIT_TYPE(foo);

These are not always easy to find.

-- Steve