[U-Boot] [PATCH] ppc4xx: Add Sequoia RAM-booting target

Detlev Zundel dzu at denx.de
Thu May 7 17:06:31 CEST 2009


Hi Stefan,

> Hi Detlev,
>
> On Thursday 07 May 2009, Detlev Zundel wrote:
>> >  int misc_init_r(void)
>> >  {
>> > -	uint pbcr;
>> > -	int size_val = 0;
>> > -	u32 reg;
>> > +	__attribute__((unused)) uint pbcr;
>> > +	__attribute__((unused)) int size_val = 0;
>> > +	__attribute__((unused)) u32 reg;
>>
>> Am I correct to assume that this should shut up warnings for the ifdef
>> case?
>
> Yes.
>
>> If so, it still seems to be a somewhat rude way to do it.  How
>> long will it take the gcc maintainers to produce a "warning: unused
>> variable is used" warning? ;)
>
> I prefer to do it this way instead of encasing the variable declaration into 
> another #ifdef ... #endif section. This is used in many cases in the Linux 
> kernel btw. Here the macro "__maybe_unsed" is defined to 
> "__attribute__((unused))".

In many cases?  a rgrep on a recent kernel counts 84 incantations, which
is not much for the Linux kernel, I believe.

> So what should I do now? Should I revert to another #ifdef in the variable 
> declaration? Or is the current version ok?

I'm not too sure myself.  What really tickles me, and what speaks
against using this attribute, is the fact that the "unused" attribute is
itself not part of an #ifdef, whereas the intention clearly is that this
attribute should only be applied when the ifdefs erases code.  

Now currently this connection maybe clear for the writer of the patch,
but it is in no way obvious in the code.  So theoretically, when the
#ifdef gets removed, nobody will think about the "unused" attributes,
forget them and then we have effectively lost correct warnings.

What do other people think?

Cheers
  Detlev

-- 
(let ((s "bottles of beer on the wall")) ((lambda (f) (f f 99))
(lambda (f i) (or (= i 0) (format #t "~a ~a - take one down pass it around
~a ~a\n" i s (- i 1) s) (f f (- i 1))))))
--
DENX Software Engineering GmbH,      MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich,  Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-40 Fax: (+49)-8142-66989-80 Email: dzu at denx.de


More information about the U-Boot mailing list