Hi Wolfgang,

Wolfgang Denk wrote:
> Dear Kumar Gala,
> 
> In message <4a0b9aaa-4714-4c27-84a7-22fce4d91...@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
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to