Andreas Pfeil wrote: > Hi, > > which architecture are you talking about? On PowerPC, if none of the > variables are marked volatile, then probably no stack space will be > allocated for the variables. This depends on the ABI of the processor, > I'd believe. I understand that the whole thing can be architecture dependent. The code is just for illustration. Let's say that the variables are all used in //some code and that the compiler will have to store them onto the stack. On x86 it would be because of lack of registers. What I want to know is what is the general approach that the compiler takes. In other words, does this theoretically lessen stack space pressure? > > Cheers, > Andreas > > Václav Haisman wrote: > >> Hi, >> first some C code: >> >> void foo (int x) >> { >> int y = 0; >> if (x) { >> int z = 0; >> // some more code >> } >> else { >> int w = 0; >> // some more code >> } >> } >> >> Now, how much stack space is getting allocated in the function? Is it >> (assuming 32bit architecture) 2*4=8 bytes (y + (z or w)) or is it 3*4=12 >> (each variable gets its own slot)? >> >> >> Vaclav Haisman Vaclav Haisman
Attachment:
signature.asc
Description: OpenPGP digital signature