Re: Alternative C compilers on x86_64 Linux?

arnold@skeeve.com (Aharon Robbins)
Mon, 12 Sep 2016 18:42:05 -0000 (UTC)

          From comp.compilers

Related articles
[6 earlier articles]
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)
Re: Alternative C compilers on x86_64 Linux? rockbrentwood@gmail.com (2016-09-07)
Re: Alternative C compilers on x86_64 Linux? arnold@skeeve.com (2016-09-12)
Re: Alternative C compilers on x86_64 Linux? bc@freeuk.com (BartC) (2016-09-12)
Re: Alternative C compilers on x86_64 Linux? arnold@skeeve.com (2016-09-13)
Re: Alternative C compilers on x86_64 Linux? arnold@skeeve.com (2016-09-14)
Re: Alternative C compilers on x86_64 Linux? rugxulo@gmail.com (2016-09-26)
Re: Alternative C compilers on x86_64 Linux? arnold@skeeve.com (2016-09-27)
Re: Alternative C compilers on x86_64 Linux? rugxulo@gmail.com (2016-09-27)
[14 later articles]
| List of all articles for this month |

From: arnold@skeeve.com (Aharon Robbins)
Newsgroups: comp.compilers
Date: Mon, 12 Sep 2016 18:42:05 -0000 (UTC)
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="98508"; mail-complaints-to="abuse@iecc.com"
Keywords: C, debug
Posted-Date: 12 Sep 2016 15:01:15 EDT

In article 16-09-001, Aharon Robbins <arnold@skeeve.com> wrote:
>Can I get recommendations for other (free) C compilers besides GCC and CLANG?
>I've been using the revived PCC for gawk development since it's faster
>than GCC, but recently it's developed a bug where it won't compile the
>current (valid) code.
>
>LCC seems to be 32 bit only and requires very manual configuration.
>
>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.


Thanks for all the replies. Some short replies to the relevant
answers:


To Jacob Navia - I'm sorry it's rough selling C compilers. I understand
your complaints. As others pointed out, duplicate cases is a constraint
violation. Why would I used a compiler that didn't catch missing
semicolons or allowed only two expressions in a for(;;) ? Same thing
applies to case statements.


As Kaz further pointed out, you can't just compile with it and then
recompile with gcc before committing. Big PITA, and I actually ended
up one time making a bad commit because tcc didn't catch duplicate cases.


Nemo - Intel and Oracle compilers - I'm sure they're good, but I'm
looking for FAST compilation. I often do 'make distclean' and then
configure and make many times over in one session. Fast compiles
make a big difference. I'd use GCC or clang for anything I wanted to
install, but while developing, speed is wonderful, but correctness
beats it.


Kaz suggested C++ - that's a lot of work for my code base. It might
get me more type checking but it won't get me compilation speed. C++
compilers can be slower than C compilers.


Florian - golang compilers. Worth checking out.


Privately, I was pointed at nwcc, but it fails to compile gawk.


Privately by someone else, I was suggested to just fix tcc myself.
It turns out that I was able to add duplicate case checking in about
an hour's work and just under 100 lines of code. But I have the
background and experience for that; I suspect someone else would
have had a harder time.


I will see about trying to get the upstream to accept it. And I hope
that PCC will eventually get fixed too.


Thanks all,


Arnold
--
Aharon (Arnold) Robbins arnold AT skeeve DOT com


Post a followup to this message

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