This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
| Other format: | [Raw text] | |
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
| Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
|---|---|---|
| Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |