[U-Boot] use of C99

Ben Warren
2009-04-08T21:03:03Z

Premi, Sanjeev wrote:
>> -----Original Message-----
>> From: u-boot-bounces at lists.denx.de
>> [mailto:u-boot-bounces at lists.denx.de] On Behalf Of Timur Tabi
>> Sent: Thursday, April 09, 2009 1:55 AM
>> To: Jerry Van Baren
>> Cc: U-Boot-Users ML; Kumar Gala
>> Subject: Re: [U-Boot] use of C99
>>
>> On Wed, Apr 8, 2009 at 2:46 PM, Jerry Van Baren
>> <gerald.vanbaren@ge.com> wrote:
>>
>>
>>> ACK. I don't expect to see variables spring into life in
>>>
>> the middle of
>>
>>> nowhere.
>>>
>> I don't see what's wrong with that. The advantage is that the
>> variable is close to where it's being used, so that you can see the
>> context more easily.
>>
>>
>>> 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.
>>>
>> I don't see what the value is of limiting the lifetime of the
>> variable. The compiler isn't going to use that as a hint, anyway.
>> It's just going to use this for syntax checking. If you define and
>> initialize a variable at the top of the function, but don't use that
>> variable until a hundred lines later, the compiler is going to
>> initialize the variable when it's first used, not when the function is
>> first entered. Chances are it's not even going to define stack space
>> for it.
>>
>
> One of the biggest problem is uncontrolled variable definitions that
> gets even nasty when variables have same names with different types;
> though under different set of #ifdefs. Quite possible for commonly
> used variable names - i, ptr, tmp, etc.
>
>
I'm showing extreme ignorance here, but does C99 let you do this?

for (int i = 0; i < x ; i++) ?

Doing a lot of C++ has rotted my brain, but this is one thing I like.

regards,
Ben