Re: C as assembly language

eodell@c1220335-a.potlnd1.or.home.com (Eric O'Dell)
10 Apr 2001 01:20:11 -0400

          From comp.compilers

Related articles
Optimizing in assembly language rhyde@transdimension.com (Randall Hyde) (2001-03-01)
Re: Optimizing in assembly language sunni@speakeasy.net (Shankar Unni) (2001-03-04)
Re: Optimizing in assembly language sunni@speakeasy.net (Shankar Unni) (2001-03-26)
C as assembly language joachim_d@gmx.de (Joachim Durchholz) (2001-04-04)
Re: C as assembly language eodell@c1220335-a.potlnd1.or.home.com (2001-04-10)
Re: C as assembly language andi@complang.tuwien.ac.at (2001-04-10)
Re: C as assembly language jmorris2@twcny.rr.com (Morrisett) (2001-04-10)
Re: C as assembly language jacob@jacob.remcomp.fr (jacob navia) (2001-04-10)
Re: C as assembly language felixundduni@freenet.de (felix) (2001-04-10)
Re: C as assembly language fjh@cs.mu.OZ.AU (2001-04-10)
Re: C as assembly language fjh@cs.mu.OZ.AU (2001-04-12)
[12 later articles]
| List of all articles for this month |

From: eodell@c1220335-a.potlnd1.or.home.com (Eric O'Dell)
Newsgroups: comp.compilers
Date: 10 Apr 2001 01:20:11 -0400
Organization: http://extra.newsguy.com
References: 01-03-006 01-03-046 01-03-130 01-04-027
Keywords: C
Posted-Date: 10 Apr 2001 01:20:11 EDT

On 4 Apr 2001 00:26:00 -0400, Joachim Durchholz <joachim_d@gmx.de> 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.


-e.


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.