From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Warren Date: Wed, 08 Apr 2009 14:03:03 -0700 Subject: [U-Boot] use of C99 In-Reply-To: References: <4A0B9AAA-4714-4C27-84A7-22FCE4D91DDA@freescale.com> <20090408192832.8D48F8560EFB@gemini.denx.de> <49DCFF1D.6080006@ge.com> Message-ID: <49DD1107.6090705@gmail.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de 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 >> 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