Edward Diener wrote: On 3/26/2017 7:59 AM, Peter Dimov via Boost wrote:
TL;DR as I said yesterday, you need to to the changes unconditionally for __clang__ and not look at __GNUC__.
I do not understand this. You are saying that __clang__ being defined and _MSC_VER being defined should always be strict compliance with variadics turned on but without any VC++ related fixes ?
Yes. Before the changes: clang -fms-compatibility: broken clang -fno-ms-compatibility: broken After your changes (conditional upon __GNUC__): clang -fms-compatibility: broken clang -fno-ms-compatibility: working After same changes, unconditional: clang -fms-compatibility: working clang -fno-ms-compatibility: working
What about the so-called emulation by clang of the non-standard VC++ preprocessor ?
There apparently exists no such emulation, at least as far as the PP tests show. Maybe it existed once, I don't know, but this doesn't seem to be the case today.