When should variables within blocks be allocated?
    brnstnd at stealth.acf.nyu.edu 
    brnstnd at stealth.acf.nyu.edu
       
    Fri Jan 19 09:17:33 AEST 1990
    
    
  
In article <253 at usblues.UUCP> tom at usblues.UUCP (Tom Markson) writes:
> The .s file indicates that all stack space is allocated at the start of a 
> function.  
If a function contains the statement if(0) { int k[100000000]; ... },
should the space for k be allocated? Every compiler I've tried allocates
variables at function entry like Tom's, but it would be nice to save
100M of memory if k is never used. I can't find any ANSI rules on this.
If the answer is that the space for k can be ignored, are there any
compilers smart enough to optimize k away? Are there any compilers that
go all the way and allocate k the moment they enter the block? Is the
space saved worth the efficiency loss?
---Dan
    
    
More information about the Comp.lang.c
mailing list