News for hackers. Stuff that matters.
Re:Intel C/C++ compilers complete adoption of LLVM by xamolxix on Thursday August 12, 2021 @05:44AM (#28154140)
I disagree. Competition is good.

Don't want to end up with every C/C++ compiler being a clang skin in the same way as (almost) every browser is a chrome skin.

And for what it's worth cl compiles faster for me than even clang-cl. I like having both available though.

Re:Intel C/C++ compilers complete adoption of LLVM by volta83 on Thursday August 12, 2021 @06:21AM (#28154396)
> Don't want to end up with every C/C++ compiler being a clang skin in the same way as (almost) every browser is a chrome skin.

Why not ?

There is one open C++ spec, that's really hard to implement, so we have a dozen C++ compilers that are impossible to support properly because they each have their own set of different ten thousand bugs.

The value of supporting all of this is really small in practice, and the cost for everybody involved is huge.

Having a single, e.g., C++ parser with a single set of bugs is a much better value proposition for C++ programmers.

Re:Intel C/C++ compilers complete adoption of LLVM by account42 on Thursday August 12, 2021 @08:16AM (#28155263)
We did have one major C++ compiler on Windows (MSVC) and one major C++ compiler elsewhere (GCC) and they both stagnated in many areas before Clang came along and forced them to advance to stay competitive.
Re:Intel C/C++ compilers complete adoption of LLVM by pjmlp on Thursday August 12, 2021 @09:54AM (#28156371)
GCC wasn't elsewhere.

Up to 2005 I was using UNIX own C++ compilers, meaning aCC, xlC, SunPRO.

Then there were Microchip, ARM, TI,...

Re:Intel C/C++ compilers complete adoption of LLVM by pumpkinpal on Saturday August 14, 2021 @12:46AM (#28178005)
There are real benefits to be gained though from new compilers. Look at "Circle" by Sean Baxter as an example. Outside of supporting a powerful form of compile time computation and allowing things such as reflection and writing shaders directly in C++, benchmarks have been floating around showing that it compiles quite a bit faster than GCC and Clang whilst still being able to compile big projects such as Boost. Although LLVM is the backend, the front-end is written from scratch by one guy.

https://www.circle-lang.org/

Re:Intel C/C++ compilers complete adoption of LLVM by lenkite on Thursday August 12, 2021 @07:50AM (#28155053)
Clang is lagging behind in C++ 20 support while MSVC is miles ahead. LLVM is also getting slower and slower every release.
Re:Intel C/C++ compilers complete adoption of LLVM by volta83 on Thursday August 12, 2021 @09:13AM (#28155861)
So?

I don't see how focusing the available manpower on one implementation instead of splitting it over 10 different implementations would make this worse.

I do see how it would make this much better.

What one implementation lacks, another implementation provides. This is a weakness of the current ecosystem. Most software projects restrict themselves to the minimum common denominator, and splitting manpower across compilers lowers it.

Re:Intel C/C++ compilers complete adoption of LLVM by logicchains on Thursday August 12, 2021 @12:03PM (#28157961)
You sound like you haven't worked with many BigCo projects. Clang is turning into an "enterprise" junkyard due to too many cooks spoiling the broth, crumbling so much under the weight of its own complexity that 2022 is almost here and support for C++20 still isn't anywhere near complete (unlike GCC). The more parties that get involved, the worse the code will get. Clang already has more people working on it than MSVC, yet MSVC is iterating faster; this suggests a fundamental problem with the architecture or development processes of Clang, which is not something that will be fixed by more hands on deck (remember the mythical man-month).
Re:Intel C/C++ compilers complete adoption of LLVM by ch_123 on Thursday August 12, 2021 @05:49AM (#28154174)
Many of the proprietary C++ compilers (Intel included) are just repackaging of the EDG front end. The monoculture has existed for a long time in the C++ world due to the complexity of implementing the language to spec.

Honestly, I think it will be great to have one less set of compiler-specific oddities to worry about.

Re:Intel C/C++ compilers complete adoption of LLVM by MauranKilom on Thursday August 12, 2021 @05:58AM (#28154250)
MSVC does not use EDG for the frontend as far as I'm aware. IntelliSense does, though.
Re:Intel C/C++ compilers complete adoption of LLVM by bumblebritches5 on Thursday August 12, 2021 @08:58AM (#28155672)
Not anymore, they changed that in the last few years
Re:Intel C/C++ compilers complete adoption of LLVM by account42 on Thursday August 12, 2021 @08:20AM (#28155299)
Funnily, the only reason I ever used ICC was as a linter since it was the most easily available EDG-based commpiler for me and different frontends help find different bugs.
Re:Intel C/C++ compilers complete adoption of LLVM by danuker on Thursday August 12, 2021 @06:22AM (#28154401)
> Competition is good.

On the other hand, collaboration is also good. Why waste time reinventing the wheel?

Re:Intel C/C++ compilers complete adoption of LLVM by yakubin on Thursday August 12, 2021 @07:51AM (#28155058)
Because reinventing the wheel is how progress is made. You car isn't made with wheels from 17th century.
Re:Intel C/C++ compilers complete adoption of LLVM by justicezyx on Thursday August 12, 2021 @11:26AM (#28157517)
Who told you reinventing wheel is how progress made?

Can we be precise here? I never had a memory about a major technical progress being reinventing the wheel.

Re:Intel C/C++ compilers complete adoption of LLVM by yakubin on Thursday August 12, 2021 @03:16PM (#28160287)
To be precise:

1. Just because there is Linux, doesn't mean everyone should jump on the Linux bandwagon and abandon all work on illumos, NT, QNX, Fuchsia etc. Focusing everyone on Linux would kill progress.

2. Just because there is x86 or RISC-V, doesn't mean noone should invent new architectures. Apple went with their own and that's what gives them their edge now.

3. Just because there is already Emacs, doesn't mean that all editors should be Emacs mods.

4. And back to compilers, just because LLVM already has optimizers, doesn't mean that other people shouldn't explore other designs for their backends. Especially that LLVM is really slow, and a major bottleneck for new compilers now (see Rust, Zig and Jai e.g.).

Re:Intel C/C++ compilers complete adoption of LLVM by justicezyx on Thursday August 12, 2021 @03:38PM (#28160524)
> illumos, NT, QNX, Fuchsia

Who told you these are reinventing the wheel of Linux?

AFAIK, NT was a consumer desktop OS turned into server and meant to serve the foundation for both consumer and server OS.

QNX was a auto operating system, for which Linux does not work.

Fuschisa is meant to be a unibersal mobile OS.

These are not the same thing as Linux.

I did not meant to label theses as reinventing wheel. If I left you with such impression that was my fault in communication.

Re:Intel C/C++ compilers complete adoption of LLVM by pjmlp on Thursday August 12, 2021 @12:15PM (#28158129)
So your car wheels are still made of wood with metal roundings?
Re:Intel C/C++ compilers complete adoption of LLVM by justicezyx on Thursday August 12, 2021 @12:19PM (#28158180)
If modern tires are considered reinventing the wooden wheels, sure, then reinventing wheel is the main form of making progress. But I doubt that's how people thinking about reinventing wheel, when they use that phrase to mock others of wasting energy inventing something that has already a very-well-working alternative.
Re:Intel C/C++ compilers complete adoption of LLVM by pjmlp on Thursday August 12, 2021 @12:27PM (#28158300)
So you would drive a chariot on the same places as a four wheel traction drive Jeep?
Re:Intel C/C++ compilers complete adoption of LLVM by justicezyx on Thursday August 12, 2021 @01:59PM (#28159400)
Sorry, I was saying that reinventing wheel does not apply to the invention of modern tires...
Re:Intel C/C++ compilers complete adoption of LLVM by pjmlp on Thursday August 12, 2021 @02:18PM (#28159619)
So why aren't we all using JOVIAL to develop IoT systems?

Apparently it wasn't required to reinvent any other high level language for embedded systems programming, it was already solved problem in 1960.

Why reinvent the wheel for embedded systems programming?

Re:Intel C/C++ compilers complete adoption of LLVM by the_only_law on Thursday August 12, 2021 @02:18PM (#28159629)
Idk about JOVIAL, but I certain mind too see some modern Ada out there.
Re:Intel C/C++ compilers complete adoption of LLVM by marcos100 on Thursday August 12, 2021 @07:00AM (#28154692)
Wasn't LLVM reinventing the wheel at the time? They could just collaborate to GCC.
Re:Intel C/C++ compilers complete adoption of LLVM by ch_123 on Thursday August 12, 2021 @08:57AM (#28155664)
They wanted to, but RMS wasn't interested at that time: https://lists.gnu.org/archive/html/emacs-devel/2015-02/msg00...

I have also been told by more than one person that does professional compiler development that GCC's codebase is very difficult to work with. At least some commentary I've read suggests that this was a deliberate choice on the part of the GNU project.

Re:Intel C/C++ compilers complete adoption of LLVM by kps on Thursday August 12, 2021 @09:51AM (#28156335)
> I have also been told by more than one person that does professional compiler development that GCC's codebase is very difficult to work with.

Add another. (Now-former professional compiler developer.)

> At least some commentary I've read suggests that this was a deliberate choice on the part of the GNU project.

This is the ‘RMS loophole’ in the GPL. In theory you can do what you want with the source; in practice you need help from the insiders.

Re:Intel C/C++ compilers complete adoption of LLVM by marcos100 on Thursday August 12, 2021 @05:38PM (#28161854)
Sure, I'm not denying any problems with the GCC codebase and/or how RMS handles GNU software.

Just pointing that reinventing the wheel is not necessarily a bad thing or a waste of time.

Re:Intel C/C++ compilers complete adoption of LLVM by _flux on Thursday August 12, 2021 @07:37AM (#28154975)
Maybe if GCC project wasn't opposing the ability to easily integrate third-party tools we wouldn't have LLVM to begin with.
Re:Intel C/C++ compilers complete adoption of LLVM by bigbillheck on Thursday August 12, 2021 @12:24PM (#28158250)
> Don't want to end up with every C/C++ compiler being a clang skin

I've wasted too much of my life dealing with compiler differences, and I certainly do want that.

Re:Intel C/C++ compilers complete adoption of LLVM by justicezyx on Thursday August 12, 2021 @11:23AM (#28157487)
Well competition is good for consumers but is not for the actual market players. And what's the point of competing in the compiler space?
Re:Intel C/C++ compilers complete adoption of LLVM by jabl on Thursday August 12, 2021 @12:19PM (#28158181)
> And what's the point of competing in the compiler space?

To an extent, processor vendors sell CPU's based on how they perform on SPEC{int,fpu}. So what matters is not how fast your HW is, but rather on how fast the combination of HW + compiler is.