|Optimizing in assembly language firstname.lastname@example.org (Randall Hyde) (2001-03-01)|
|Re: Optimizing in assembly language email@example.com (Shankar Unni) (2001-03-04)|
|Re: Optimizing in assembly language firstname.lastname@example.org (Shankar Unni) (2001-03-26)|
|C as assembly language email@example.com (Joachim Durchholz) (2001-04-04)|
|Re: C as assembly language firstname.lastname@example.org (2001-04-10)|
|Re: C as assembly language email@example.com (2001-04-10)|
|Re: C as assembly language firstname.lastname@example.org (Morrisett) (2001-04-10)|
|Re: C as assembly language email@example.com (jacob navia) (2001-04-10)|
|Re: C as assembly language firstname.lastname@example.org (felix) (2001-04-10)|
|Re: C as assembly language email@example.com.OZ.AU (2001-04-10)|
|Re: C as assembly language firstname.lastname@example.org.OZ.AU (2001-04-12)|
|[12 later articles]|
|From:||email@example.com (Eric O'Dell)|
|Date:||10 Apr 2001 01:20:11 -0400|
|References:||01-03-006 01-03-046 01-03-130 01-04-027|
On 4 Apr 2001 00:26:00 -0400, Joachim Durchholz <firstname.lastname@example.org> wrote:
>Hmm... there are a few additional cases where C is simply inappropriate:
>1) You want to check for integer overflow.
>2) You need exceptions.
>Oh, and slightly off-topic, there are a few other things that annoy
>those who want to use C as a backend for their compiler:
>3) It has no support for tail call recursion.
>4) It has no support for automatic garbage collection.
>(The following are from http://www.cminusminus.org/faq.html:)
>5) It cannot return multiple values in registers
>6) It cannot bind global variables to registers
>7) It has no support for lightweight concurrency
>Not all of these features are required for each language, but many
>(most?) languages need at least one of them.
In fairness, most C compilers I've seen support direct manipulation of
the registers, but generally not in a portable or standardized
fashion. Of course, direct register manipulation isn't portable
anyway. And automatic garbage collection is certainly possible in C,
but you have to do the work yourself or find one of the several
available libraries to do it for you. Ditto on exceptions.
Return to the
Search the comp.compilers archives again.