Hi Edward, First of, thanks for your elaborate answer, explaining the extent of the issues. The clang build which targets VC++ on Windows, as opposed to the clang
build which targets mingw(-64)/gcc on Windows, 'emulates' the non-standard VC++ preprocessor so it can compile Windows API headers and VC++ header files.
Do you imply here that the preprocessors of both Clang/LLVM and Clang/C2 work exactly the same way? For all I know clang targeting VC++ may indeed work with those libraries if
the libraries pretend that clang targeting VC++ is VC++ for the intention of those libraries.
Isn't that the way to go then, to make boost act as if Clang/LLVM is VC14. When using Clang/LLVM with the M$-STL there are no issues, so it must do a reasonable job AFAICS. Clang/LLVM definitely flags quite a few of the non-confirming issues your own code might have, which implies that the VC14-STL does not have those kind of issues anymore. Getting some of my older projects to compile (with Clang) at all is quite a hassle (looks like a different C++).
I made a suggestion to the clang developers that there 'emulation' of the non-standard VC++ preprocessor in their clang targeting VC++ implementation should be configurable so that when the compiler is not dealing with Windows API and VC++ header files it can be turned off and clang would then be the same C++ standard conforming preprocessor as it is with clang targeting mingw(-64)/gcc and clang on Linux and on the Mac. The suggestion was rejected. After that my interest in running clang targeting VC++ on Windows ended.
Again, why fight the Clang developers, go with the flow, Clang/LLVM wants to emulate VC++ perfectly, fine, should make your life easier no?
...which 'emulates' the VC++ preprocessor in various unknown ways...
With the above position taken, those unknown ways would then hopefully be identified and emulated by the Clang team... M$ is in the loop as well, as far I understand, so it's not exactly reverse-engineering. Have a good day, degski -- (\___/) (+'.'+) (")_(") This is Bunny. Copy and paste Bunny into your signature to help him gain world domination!