Re:Trying out C++20's modules with Clang and Make
by humanrebar on Sunday October 15, 2023 @01:10PM
(#37891508)
If it were literally the MSVC implementation, they would have been done threw years ago.
Re:Trying out C++20's modules with Clang and Make
by mgaunard on Sunday October 15, 2023 @01:38PM
(#37891715)
They were. Gaby has been making presentations at Cppcon about it since 2015. By 2019 it was mostly about teaching people how to use it.
Re:Trying out C++20's modules with Clang and Make
by humanrebar on Sunday October 15, 2023 @02:31PM
(#37892120)
I'm positive there has been nontrivial work to support C++ modules going into MSVC, msbuild, VS, MS STL, etc., since 2019. And there is still plenty of work to do, for instance helping build systems know when they need to produce more than one IFC for a given module (right now build systems assume modular C++ code is ODR bug free).
Re:Trying out C++20's modules with Clang and Make
by mgaunard on Sunday October 15, 2023 @03:54PM
(#37892860)
That sounds like it's mostly integration and tooling.
Re:Trying out C++20's modules with Clang and Make
by humanrebar on Sunday October 15, 2023 @04:36PM
(#37893186)
Also bug fixes. And there are still major headaches around when names are provided both through textual inclusion and import statements.
But integration and tooling is required for any major amount of adoption. IntelliSense has to work. Existing LSPs have to work.
Re:Trying out C++20's modules with Clang and Make
by mgaunard on Monday October 16, 2023 @03:50AM
(#37896883)
I personally do not use IDEs, completion or even off-the-shelf build systems. I believe that to be a common situation.
Re:Trying out C++20's modules with Clang and Make
by mathstuf on Sunday October 15, 2023 @05:42PM
(#37893648)
Clang modules were basically "let's try to automate precompiled headers". It lacks the isolation offered by proper modules. Even if they're not faster, the isolation is something I'm looking forward to.
Clang had another model that was rejected, and most of the years in committee were actually about finding a compromise between Microsoft's and Clang's approach. In the end, Clang wasn't particularly happy about the end result either.