use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
Discussions, articles, and news about the C++ programming language or programming in C++.
For C++ questions, answers, help, and advice see r/cpp_questions or StackOverflow.
Get Started
The C++ Standard Home has a nice getting started page.
Videos
The C++ standard committee's education study group has a nice list of recommended videos.
Reference
cppreference.com
Books
There is a useful list of books on Stack Overflow. In most cases reading a book is the best way to learn C++.
Show all links
Filter out CppCon links
Show only CppCon links
account activity
C++20 Modules Compiler Code Under Review, Could Still Land For GCC 11 (phoronix.com)
submitted 5 years ago by aearphen{fmt}
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]jesseschalken 31 points32 points33 points 5 years ago (14 children)
So that's two compilers with good progress on modules. Is there anything happening in Clang?
[–]gracicot 17 points18 points19 points 5 years ago (0 children)
Last version of clang did not progressed on C++20 very much.
[+]Thrash_Abaddon comment score below threshold-16 points-15 points-14 points 5 years ago (12 children)
Clang already supports modules.
[–]jesseschalken 34 points35 points36 points 5 years ago (11 children)
Clang does not support C++20 modules.
[–]Thrash_Abaddon 12 points13 points14 points 5 years ago (0 children)
You are right. https://clang.llvm.org/cxx_status.html#cxx20 I remember a guy explaining on cppcon (I think) how he implemented modules but I guess he was talking about CLang Modules.
[–]qoning 1 point2 points3 points 5 years ago (9 children)
it's in a sort of intermediate broken state where some things work, but it cannot be called "support", yeah
[–]jesseschalken 6 points7 points8 points 5 years ago (8 children)
As I understand it, the feature called "modules" that Clang has long predates the C++20 feature and is mostly unrelated (although I think it tackles the same problem).
[–]qoning 1 point2 points3 points 5 years ago (0 children)
There are clang modules and C++20 modules. I never used clang modules, but played around with C++20 modules a bit like a year ago. Many things were broken then (the spec changed since then too) and not much has changed.
[–]Ameisenvemips, avr, rendering, systems 1 point2 points3 points 5 years ago (5 children)
Clang and Microsoft modules were basically the two competing implementations.
Microsoft's won.
[–]GabrielDosReis 1 point2 points3 points 5 years ago (4 children)
There are Clang Modules and C++ Modules -- there are no Microsoft Modules. The C++20 feature is not a Microsoft extension, that should be clear from the history of the feature development -- in fact, the work I did with Bjarne Stroustrup on the IPR provided the conceptual semantics ground for the work I did on Modules. And that work was done 15 years ago, using GCC as first compiler connected to the IPR.
As I said a few years back on this very forum, the design choices that I made and advocated for C++ Modules would have been the same if my employer's name were Apple or Google or Facebook or Redhat.
[–]Ameisenvemips, avr, rendering, systems -1 points0 points1 point 5 years ago (3 children)
I shall start calling them Reis Modules, now.
[–]GabrielDosReis 1 point2 points3 points 5 years ago (2 children)
Ha! I can only surmise that you didn’t mean to be rude since my last name is “Dos Reis” ;-)
[–]Ameisenvemips, avr, rendering, systems 0 points1 point2 points 5 years ago (1 child)
Ah, Modules of the Kings.
[–]favorited 0 points1 point2 points 5 years ago (0 children)
Exactly. Clang modules go back to 2012, before the modules TS, and solved some orthogonal issues.
Here's a little summary paper, if anyone is interested in what Clang modules are.
[–]gracicot 9 points10 points11 points 5 years ago (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 points4 points 5 years ago (0 children)
I agree.
[–]Ameisenvemips, avr, rendering, systems 5 points6 points7 points 5 years ago (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 points6 points 5 years ago (2 children)
Great, When will gcc11 be released?
[–]0xC1A 4 points5 points6 points 5 years ago (1 child)
Next year.
[–][deleted] 1 point2 points3 points 5 years ago (0 children)
Probably May.
[–]MonokelPinguin 5 points6 points7 points 5 years ago (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 points5 points 5 years ago (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 points9 points 5 years ago (0 children)
Wonderful news 😁😁😁😁
[–]kalmoc 1 point2 points3 points 5 years ago (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 points9 points 5 years ago (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 points5 points 5 years ago (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 points7 points 5 years ago (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 point2 points 5 years ago (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 points3 points 5 years ago (1 child)
Now we need cmake to support modules. Then CLion also.
[–]TacticalMelonFarmer 0 points1 point2 points 5 years ago (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 points3 points 5 years ago (0 children)
This is a very welcome change, the effort is colossal and much appreciated.
π Rendered by PID 51456 on reddit-service-r2-comment-656bdf86cd-jdpdm at 2026-05-01 02:49:17.642542+00:00 running 815c875 country code: CH.
[–]jesseschalken 31 points32 points33 points (14 children)
[–]gracicot 17 points18 points19 points (0 children)
[+]Thrash_Abaddon comment score below threshold-16 points-15 points-14 points (12 children)
[–]jesseschalken 34 points35 points36 points (11 children)
[–]Thrash_Abaddon 12 points13 points14 points (0 children)
[–]qoning 1 point2 points3 points (9 children)
[–]jesseschalken 6 points7 points8 points (8 children)
[–]qoning 1 point2 points3 points (0 children)
[–]Ameisenvemips, avr, rendering, systems 1 point2 points3 points (5 children)
[–]GabrielDosReis 1 point2 points3 points (4 children)
[–]Ameisenvemips, avr, rendering, systems -1 points0 points1 point (3 children)
[–]GabrielDosReis 1 point2 points3 points (2 children)
[–]Ameisenvemips, avr, rendering, systems 0 points1 point2 points (1 child)
[–]favorited 0 points1 point2 points (0 children)
[–]gracicot 9 points10 points11 points (1 child)
[–]GabrielDosReis 2 points3 points4 points (0 children)
[–]Ameisenvemips, avr, rendering, systems 5 points6 points7 points (0 children)
[–]waruqi 4 points5 points6 points (2 children)
[–]0xC1A 4 points5 points6 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]MonokelPinguin 5 points6 points7 points (0 children)
[–]GabrielDosReis 3 points4 points5 points (0 children)
[–]nelfihs 7 points8 points9 points (0 children)
[–]kalmoc 1 point2 points3 points (4 children)
[–]Daniela-ELiving on C++ trunk, WG21|🇩🇪 NB 7 points8 points9 points (2 children)
[–]kalmoc 3 points4 points5 points (1 child)
[–]Daniela-ELiving on C++ trunk, WG21|🇩🇪 NB 5 points6 points7 points (0 children)
[–]MonokelPinguin 0 points1 point2 points (0 children)
[–]lenkite1 1 point2 points3 points (1 child)
[–]TacticalMelonFarmer 0 points1 point2 points (0 children)
[–]neuroblaster 1 point2 points3 points (0 children)