Re: Alternative C compilers on x86_64 Linux?

BartC <bc@freeuk.com>
Mon, 5 Sep 2016 13:19:12 +0100

          From comp.compilers

Related articles
Alternative C compilers on x86_64 Linux? arnold@skeeve.com (2016-09-02)
Re: Alternative C compilers on x86_64 Linux? jacob@jacob.remcomp.fr (jacobnavia) (2016-09-05)
Re: Alternative C compilers on x86_64 Linux? nemo@invalid.invalid (Nemo) (2016-09-04)
Re: Alternative C compilers on x86_64 Linux? 221-501-9011@kylheku.com (Kaz Kylheku) (2016-09-04)
Re: Alternative C compilers on x86_64 Linux? bc@freeuk.com (BartC) (2016-09-05)
Re: Alternative C compilers on x86_64 Linux? fw@deneb.enyo.de (Florian Weimer) (2016-09-05)
Re: Alternative C compilers on x86_64 Linux? alexfrunews@gmail.com (2016-09-05)
Re: Alternative C compilers on x86_64 Linux? alexfrunews@gmail.com (2016-09-05)
Re: Alternative C compilers on x86_64 Linux? 221-501-9011@kylheku.com (Kaz Kylheku) (2016-09-06)
Re: Alternative C compilers on x86_64 Linux? 221-501-9011@kylheku.com (Kaz Kylheku) (2016-09-06)
Re: Alternative C compilers on x86_64 Linux? bc@freeuk.com (BartC) (2016-09-06)
[29 later articles]
| List of all articles for this month |

From: BartC <bc@freeuk.com>
Newsgroups: comp.compilers
Date: Mon, 5 Sep 2016 13:19:12 +0100
Organization: A noiseless patient Spider
References: 16-09-001
Injection-Info: miucha.iecc.com; posting-host="news.iecc.com:2001:470:1f07:1126:0:676f:7373:6970"; logging-data="39865"; mail-complaints-to="abuse@iecc.com"
Keywords: C
Posted-Date: 05 Sep 2016 21:12:21 EDT

On 02/09/2016 04:01, Aharon Robbins wrote:


> TinyCC is blindingly fast, and can compile gawk, but is broken in that
> it won't diagnose duplicate case statements inside switch. The developers
> don't consider this a problem. So I refuse to use it.
>
> In short, I'm looking for a faster compiler that actually works.


I'm quite impressed with Tiny CC. I'd considered it a toy compiler that
could only compile a small subset of the language until I actually tried it.


And yes, on my Win64 version, it does seem to ignore duplicate 'case'
labels.


But TCC does have problem with compiling switch statements; although the
code it generates isn't that great anyway, that for switches is slower.


I suspect it just compiles switch as an if-else chain. Which might
explain why duplicate case labels are ignored if that conversion is done
at at early stage.


(Because a duplicate condition in an if-else chain is fine. For a
jump-table of course, a duplicate label is ambiguous so can't be allowed.)


--
Bartc


Post a followup to this message

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