
On 4/22/2012 8:43 PM, Stephan T. Lavavej wrote:
[Edward Diener]
In that case if Boost Chaos were better for preprocessor metaprogramming than Boost PP, as evidenced by Boost implementors using Boost Chaos instead of Boost PP, it would provide impetus for compiler vendors to make their preprocessor 100% C++11 compliant (and no, I do not expect VC++ to ever make an effort to be compliant but that is neither here nor there).
If someone could prepare *minimized* test cases demonstrating the VC bugs that are holding you back here, I could file compiler bugs.
One of the main issues is that Microsoft follows the C89 standard when it comes to the preprocessor. That has been superseded in both C and C++ a long time ago. So what does one say to a company that follows a very old standard and defends the inadequacy of its preprocessor by saying that according to that standard they are processing preprocessor symbols correctly ? It is like a company saying that they implement a computer language of 23 years ago and despite the fact that the language has changed drastically since that time, they are proud to not keep up with those changes. A second issue is that quite often simple test cases are unavailable since the sort of failures exhibited by Microsoft's preprocessor occur when one is attempting to use the facilities of the Boost PP library and that is often at the cutting edge of what one can do with the preprocessor, aside from Chaos which assumes a 100% compliant preprocessor. I will try to provide some simple test cases sometime in the coming week or weekend, although perhaps Paul can jump in here and do so more easily.