On 5/7/2015 10:27 PM, Matt Calabrese wrote:
On Thu, May 7, 2015 at 5:40 PM, Niall Douglas
wrote: I'd have thought replacing the preprocessor probably just about the easiest compiler mod possible. We can even do it ourselves by getting winclang to feed preprocessed output to MSVC for us!
That's why I said "for other reasons." It'd be simple to just swap out the preprocessor with a compliant one, but that breaks tons of code including code in windows headers. Even the clang-cl effort tries to mimic funky MSVC preprocessor behavior such that it is feasible to use in a windows system. I'm pretty sure that in the past Microsoft has explicitly stated that they have absolutely no plans of ever fixing their preprocessor, but I remain hopeful that it will be fixed eventually.Unfortunately it tends to only be people like boost developers who really care, and Boost.Preprocessor bends over backwards to support MSVC anyway, so there's not enough incentive for Microsoft to do anything.
Boost.VMD has workarounds for the non-compliant VC++ preprocessor also. I have been told that Microsoft has said once again that they will create a standard C++ preprocessor.