[U-Boot] use of C99
Jerry Van Baren
gerald.vanbaren at ge.com
Wed Apr 8 21:46:37 CEST 2009
Hi Wolfgang,
Wolfgang Denk wrote:
> Dear Kumar Gala,
>
> In message <4A0B9AAA-4714-4C27-84A7-22FCE4D91DDA at freescale.com> you wrote:
>> I was wondering if there was any reason we avoid C99 features in u-
>> boot source.
>>
>> Specifically the ability to declare variables in the middle of
>> functions.
>
> One reason is that I consider such code extremely ugly and hard to
> read and understand.
ACK. I don't expect to see variables spring into life in the middle of
nowhere.
>> There are a slew of places that we have something like:
> ...
>> #ifdef CONFIG_COOL_FEATURE
>> u32 myvarrocks = foo * bar * bar;
>>
>> gd->neato = myvarrocks
>> #endif
>
> It would be even better to avoid such #ifdef's, or at least the need
> for such special local variables.
Sometimes (often?) that is impossible.
> Best regards,
>
> Wolfgang Denk
If I'm not confused, I've seen block-local u-boot variables, has the
advantages of being more distinctive and limits the lifetime of the
variable.
#ifdef CONFIG_COOL_FEATURE
{
u32 myvarrocks = foo * bar * bar;
gd->neato = myvarrocks
}
#endif
Is this an acceptable compromise?
Best regards,
gvb
More information about the U-Boot
mailing list