On 9/29/2013 10:15 PM, Chandler Carruth wrote:
On Sun, Sep 29, 2013 at 7:36 PM, Edward Diener
wrote: The fix that I had made to Boost PP config.h, which I was asked to remove by Beman Dawes, explicitly detects that when _MSC_VER is defined and __clang__ is defined Boost PP should not treat the compiler as VC++. In the Boost PP config.h file prior to my fix if _MSC_VER is defined then the compiler is treated as VC++.
There are other cases in the Boost header files that assume that when _MSC_VER is defined the compiler is VC++ ( see my thread "Boost and clang under Windows" ) without checking if it could be another compiler emulating VC++. I had proposed in the aforementioned thread that I was willing to work on changing such code in other Boost libraries so that it did the correct thing when both _MSC_VER and __clang__ were defined, but the reaction of not only Mr. Dawes and others was that I should not do that so I desisted.
Our hope is that generally speaking, you shouldn't need to special case Clang -- it should be compatible. When it isn't compatible, ideally we'd like to fix the bugs so that it is compatible.
There may be a few cases where the code that Boost is using for VC++ is working around (and in the process relying on) really excessive quirks or bugs, and there it may be more pragmatic to just switch to more standards-based code path by checking for Clang explicitly. In other cases, VC++ may not have access to features that it makes sense to enable by detecting Clang.
If there are questions about a specific case, feel free to reach out to the Clang developers with either a bug report or email, and they can likely help.
There is a clang user mailing list but the clang developers never seem to bother with it. Am I supposed to use the clang developers mailing list instead ? Am I supposed to email some developer in particular ?