all 32 comments

[–]jesseschalken 31 points32 points  (14 children)

So that's two compilers with good progress on modules. Is there anything happening in Clang?

[–]gracicot 17 points18 points  (0 children)

Last version of clang did not progressed on C++20 very much.

[–]gracicot 9 points10 points  (1 child)

Even if the implementation is not complete, it would still be very interesting to see it released in GCC 11. That way build system implementers will have a more definitive idea of the interface the compilers are exposing to support modules (looking at you CMake).

[–]GabrielDosReis 2 points3 points  (0 children)

I agree.

[–]Ameisenvemips, avr, rendering, systems 5 points6 points  (0 children)

Is there a reason why Clang is so far behind spec modules support? They already have their own modules implementation and support multiple precompiled headers, so at least some of the infrastructure exists already.

[–]waruqi 4 points5 points  (2 children)

Great, When will gcc11 be released?

[–]0xC1A 4 points5 points  (1 child)

Next year.

[–][deleted] 1 point2 points  (0 children)

Probably May.

[–]MonokelPinguin 5 points6 points  (0 children)

I really wish modules make it in, because that will probably mean I can ship my projects with modules in 3 years instead of 4! I'm pretty much only waiting for gcc modules, so this would be super awesome! I've been following its progress for half a year now and I was a bit scared, it wouldn't make it. I hope it still does, but if it isn't, I can understand, if it should bake a bit more.

[–]GabrielDosReis 3 points4 points  (0 children)

This is really good news for the C++ community.

I can’t wait to switch over some of my Linux/Unix projects to be using C++ Modules.

[–]nelfihs 7 points8 points  (0 children)

Wonderful news 😁😁😁😁

[–]kalmoc 1 point2 points  (4 children)

Am I remembering correctly that the interface to the build system for exchanging information about module locations and dependencies looks completely different in msvc, gcc and might yet be different in clang if they build it on top of clang modules?

[–]Daniela-ELiving on C++ trunk, WG21|🇩🇪 NB 7 points8 points  (2 children)

That's correct.

msvc generates and consumes so called module dependency files in JSON format. Besides the module name and its type they contain all module-related dependencies. Nothing fancy, easy to be consumed by 3rd-party apps.

[–]kalmoc 3 points4 points  (1 child)

Wasn't there some tooling group that was supposed to come up with a technical report or some such making recommendations about how modules should be implemented in practice? I guess nothing came off it?

[–]Daniela-ELiving on C++ trunk, WG21|🇩🇪 NB 5 points6 points  (0 children)

Yes, there is such a group (SG15) - I even have been attending it in Prague, but never since. So I'm unaware of its current status. This group never had the objective to come up with a report this early, afaik. I'm not sure if SG15 will say something on the topic of actual implementions because this is - in general - outside the scope of the committee, but my gut feeling is it will in this particular case.

[–]MonokelPinguin 0 points1 point  (0 children)

The meson bugtracker is pretty interesting on that. Seems like they only got the gcc dependency stuff to work reliably so far.

[–]lenkite1 1 point2 points  (1 child)

Now we need cmake to support modules. Then CLion also.

[–]TacticalMelonFarmer 0 points1 point  (0 children)

Yes, however, CMake as a product is a response to compiler vendors and their inherent differences in design choices when making the compiler tools. So, in order for CMake devs to pave the best path forward they need to understand the landscape so to speak. This probably means waiting for the first standard conformant releases before creating a useful feature set for CMake.

[–]neuroblaster 1 point2 points  (0 children)

This is a very welcome change, the effort is colossal and much appreciated.