On 3/26/2017 4:06 AM, Peter Dimov via Boost wrote:
Edward Diener wrote:
I have updated Boost PP on the develop branch to support the -fno-ms-compatibility mode of clang targeting VC++ or clang/C2.
...failed updating 1 target... ...skipped 2 targets... ...updated 133 targets...
The only error is config_info.exe, because my Clang configuration can't link, as explained.
My two errors in my previous run were (1) forgetting to patch the first _MSC_VER section to use strict and (2) using <cxxflags> for -fno-ms-compatibility, which left all C tests in -fms-compatibility mode.
No idea why it doesn't work for you.
I did forget about "cflags=-fno-ms-compatibility" in my testing. Now I see that with both "cxxflags=-fno-ms-compatibility" and "cflags=-fno-ms-compatibility" the Boost PP tests all pass for clang using -fno-ms-compatibility and the clang-win toolset. Well I am certainly glad it worked and that clang targeting VC++ using -fno-ms-compatibility does work with my latest fix of Boost PP on the develop branch. Since that update only affects Boost PP when using clang in -fno-ms-compatibility mode ( aka clang targeting VC++ with -fno-ms-compatibility turned on ) I wonder If it is not too late to get it into the 'master' branch for the upcoming 1.64 release. Of course the Boost PP regression tests on the develop branch will not have cycled yet, but this fix may be important for VC++ developers wanting to use clang/C2 and Boost. However there are still some problems with the clang-win jam file which I am not experienced enough with Boost Build to solve, so others will need to figure them out. These are some PRs for Boost Build relating to those problems. You seem to be using the clang.jam file instead. I do not know how you are supposed to get that to work with clang targeting VC++ or clang/C2, but I strongly believe that my Boost PP config.hpp for -fno-ms-compatibility is correct. I could not follow on your subsequent posts what you are doing so if you can stick to a single reply it would be appreciated.