Hacker News new | ask | show | jobs
by zetaposter 1438 days ago
1. GCC has more backends than LLVM. 2. Competition is good in general. 3. I expect this will trigger inconsistencies between GCC and rustc; because Rust doesn't really have a specification. Which will force both parties to discuss and solve them.
5 comments

Being on gcc, a long-lived platform, also helps ensure the survival of the language even if development of the current compiler (or LLVM) dies or withers.
Does it? GCC's Java frontend died and is no longer shipped, they need maintainers like any other compiler.
GCJ is no more? It was being used within recent memory for things, i thought.

I am out of the loop though, so if this is true, that's interesting and a bit weird.

Since 2009 actually.

Most contributors eventually moved into OpenJDK after it became available.

GCC folks left it around for a couple of years, because GCJ unit tests exercised parts of the compiler no one else did.

Eventually they decided it wasn't worth that maintenance cost to keep it around only for that purpose.

GCC support of Objective-C is very very poor.
It is at the level NeXT was forced to contribute back to upstream.
Reimplementing ObjC 2.0 would be very hard. You have to be precisely bug-compatible with Clang to implement ARC correctly.
and to back up your point... There should be at least 2 implementations for anything to be a spec/standard.
Thank you so much. The specification point is very important
> I expect this will trigger inconsistencies between GCC and rustc; because Rust doesn't really have a specification. Which will force both parties to discuss and solve them.

More likely that GCC has to follow all the bugs and quirks of rustc or no people will use GCC for Rust.

> 1. GCC has more backends than LLVM

Did you mean target platforms? If so, how is this not already addressed by the rustc gcc (Via libgccjit) backend?