|Optimizing in assembly language email@example.com (Randall Hyde) (2001-03-01)|
|Re: Optimizing in assembly language firstname.lastname@example.org (Shankar Unni) (2001-03-04)|
|Re: Optimizing in assembly language email@example.com (Shankar Unni) (2001-03-26)|
|C as assembly language firstname.lastname@example.org (Joachim Durchholz) (2001-04-04)|
|Re: C as assembly language email@example.com (2001-04-10)|
|Re: C as assembly language firstname.lastname@example.org (2001-04-10)|
|Re: C as assembly language email@example.com (Morrisett) (2001-04-10)|
|Re: C as assembly language firstname.lastname@example.org (jacob navia) (2001-04-10)|
|Re: C as assembly language email@example.com (felix) (2001-04-10)|
|Re: C as assembly language firstname.lastname@example.org.OZ.AU (2001-04-10)|
|Re: C as assembly language email@example.com.OZ.AU (2001-04-12)|
|[12 later articles]|
|From:||firstname.lastname@example.org (Eric O'Dell)|
|Date:||10 Apr 2001 01:20:11 -0400|
|References:||01-03-006 01-03-046 01-03-130 01-04-027|
|Posted-Date:||10 Apr 2001 01:20:11 EDT|
On 4 Apr 2001 00:26:00 -0400, Joachim Durchholz <email@example.com> 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.