From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 In-Reply-To: References: Date: Tue, 17 Jan 2012 14:21:53 -0500 Message-ID: From: Comeau At9Fans To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary=14dae93405376a96e804b6be3e90 Subject: Re: [9fans] assembly syntax in plan 9 Topicbox-Message-UUID: 5e3a3c3c-ead7-11e9-9d60-3106f5b1d025 --14dae93405376a96e804b6be3e90 Content-Type: text/plain; charset=ISO-8859-1 On Mon, Jan 16, 2012 at 2:03 PM, Bakul Shah 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... Anyway, at some point we're able to detect that the previous VLA(s) is no longer active and "toss" them. > On Jan 16, 2012, at 10:51 AM, Comeau At9Fans > wrote: > > On Mon, Jan 16, 2012 at 10:41 AM, Bakul Shah 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. > > -- 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? --14dae93405376a96e804b6be3e90 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable On Mon, Jan 16, 2012 at 2:03 PM, Bakul Shah <bakul@bitblocks.com> wrote:
How do you deal with longjmp?

I don't have it in front of me, but I do s= eem to recall the Standard allows that the VLA might still be around though= , believe it has an example with said, for better or worse... =A0Anyway, at= some point we're able to detect that the previous VLA(s) is no longer = active and "toss" them. =A0
=A0
=
On Jan 16, 2012, at 10:51 AM, Comeau At9Fans <comeauat9fans@gma= il.com> wrote:
On Mon, Jan 16, 2012 at 10:41 AM, Bakul Shah <= bakul@bitblocks.co= m> wrote:
A frame pointer is needed for C99's varia= ble length arrays but not otherwise. Only an issue if ever plan9 C is exten= ded to handle C99 or C1x. gcc has to do the right thing even with -fno-fram= e-pointer.

What we do in problematic cases with= Comeau is to generate code to arrange for the allocation of the VLA on the= heap. =A0I'm not saying this is perfect, but at least it gets the feat= ure implementable and up and running as "a portable implementation&quo= t; versus perhaps not being able to implement it at all on some platforms.<= /div>
--
G= reg Comeau / 4.3.10.1 with C++0xisms now in beta!
Comeau C/C++ ON= LINE =3D=3D> =A0 =A0 http://www.comeaucomputing.com/tryitout
World Class Compilers: =A0Breathtaking C++, Amazing C99, Fabulous C90.=
Comeau C/C++ with Dinkumware's Libraries... Have you tried i= t?

--14dae93405376a96e804b6be3e90--