On Wed, Jan 18, 2012 at 12:48 PM, Bakul Shah <ba...@bitblocks.com> wrote:
> On Jan 17, 2012, at 11:21 AM, Comeau At9Fans <comeauat9f...@gmail.com> > wrote: > On Mon, Jan 16, 2012 at 2:03 PM, Bakul Shah <ba...@bitblocks.com> wrote: > > How do you deal with longjmp? >> > > I don't have it in front of me, but I do seem to recall the Standard > allows that the VLA might still be around though, believe it has an example > with said, for better or worse... > > > Do you have a reference? > Ok, so, gunna make me look, let's see, ok: 7.13.2.1p5, note the may's and might's. There should be narrative backing those up. > On Jan 16, 2012, at 10:51 AM, Comeau At9Fans <comeauat9f...@gmail.com> >> wrote: >> >> On Mon, Jan 16, 2012 at 10:41 AM, Bakul Shah <ba...@bitblocks.com> wrote: >> >>> A frame pointer is needed for C99's variable length arrays but not >>> otherwise. Only an issue if ever plan9 C is extended to handle C99 or C1x. >>> gcc has to do the right thing even with -fno-frame-pointer. >>> >> >> What we do in problematic cases with Comeau is to generate code to >> arrange for the allocation of the VLA on the heap. I'm not saying this is >> perfect, but at least it gets the feature implementable and up and running >> as "a portable implementation" versus perhaps not being able to implement >> it at all on some platforms. >> >> > Seems to me if you can port C, you can use a FP to implement VLAs without > alloca games and more efficiently. You can always store the FP in stack > local memory if out of registers. > I probably overstated the situation by saying not being able to implement it at all... probably should have said I never thought of it beyond the obvious implementations. -- Greg Comeau / 4.3.10.1 with C++0xisms now in beta! Comeau C/C++ ONLINE ==> http://www.comeaucomputing.com/tryitout World Class Compilers: Breathtaking C++, Amazing C99, Fabulous C90. Comeau C/C++ with Dinkumware's Libraries... Have you tried it?