C++14 implementation status
Gabriel Dos Reis
gdr@integrable-solutions.net
Thu Jun 13 15:13:00 GMT 2013
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
More information about the Libstdc++
mailing list