Path: csiph.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!peer01.iad.highwinds-media.com!news.highwinds-media.com!feed-me.highwinds-media.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED.news.iecc.com!nerds-end From: arnold@skeeve.com (Aharon Robbins) Newsgroups: comp.compilers Subject: Re: Alternative C compilers on x86_64 Linux? Date: Mon, 12 Sep 2016 18:42:05 -0000 (UTC) Organization: A noiseless patient Spider Lines: 56 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <16-09-026@comp.compilers> References: <16-09-001@comp.compilers> 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 X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com X-Received-Bytes: 3313 X-Received-Body-CRC: 3574408992 Xref: csiph.com comp.compilers:1765 In article <16-09-001@comp.compilers>, Aharon Robbins 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