Have anybody tried to use parts of Microsofts OpenSource STL for CLang?
Microsoft have choosen the same license as the LLVM/CLang libc++ for its STL.
Which parts can be used for CLang?
Microsoft have in its code explicitly options for CLang
That means, it was modified, that it can be compiled either with VC++ or Clang.
If I’m correct the Microsoft team actually tests the whole STL with clang.
I’m using this already for a while, recently did the upgrade from clang 10 to 13 without any issues on a large code base. (Even though VS2022 requires (at least) Clang 12)
I am pretty sure that the libc++ team is using and or looking at the MS implementations for certain things. But it’s not as easy as just copying the code over and have it run. It has to match the internal apis and code convention.
I found a reference: Clang/LLVM Support in Visual Studio - C++ Team Blog
Quote: “For instance, if you are using the Microsoft STL on Windows, support is only gaurenteed for the most recent version of the compiler. As we release new versions of Visual Studio and the Microsoft STL you may need to upgrade your custom installation.”
Next to that, STL often logs bugs where they have problems with Clang to correctly deal with their standard library.