This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ 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]

Re: C++14 implementation status


On Thu, Jun 13, 2013 at 9:59 AM, Ed Smith-Rowland <3dw4rd@verizon.net> wrote:
> On 06/10/2013 02:08 PM, Ulrich Drepper wrote:
>>
>> On Mon, Jun 10, 2013 at 11:45 AM, Marc Glisse <marc.glisse@inria.fr>
>> wrote:
>>>
>>>    void f(int n, void *p=alloca(n));
>>
>> Before anyone uses this as an example, it is really wrong to use
>> alloca inside a parameter list.  The alloca allocation might interfere
>> with pushing parameters on the stack for function calls.  This was at
>> least true for older compilers but I think it's still a valid concern.
>>
> So it looks like compiler magic it is.  Is the always_inline trick still a
> possibility?)

Before we talk about trick, I think we need to understand
the model.  Alloca is essentially a directive to
grow activation record by a certain amount.

Parameters are not always part of the activation record
depending on the ABI, and even if they are, depending
on the calling convention it may not be possible to
arbitrarily expand the allocated space.

-- Gaby


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]