[cfe-dev] Clang-cl.exe and the VC++ preprocessor

Zachary Turner zturner at google.com
Thu Jul 10 17:44:28 PDT 2014


Also it's worth pointing out that the idea is not to emulate VC++ in every
respect.  Only in every respect where not doing so will break vast amounts
of code.  There are plenty of places where not emulating VC++ will *fix*
vasts amounts of code.  I imagine the goal is to depart with VC++ in those
respects.

There are examples where not emulating VC++'s bugs means **we can't even
include standard windows headers**.  Surely we agree that a Windows
compiler that cannot include <windows.h> would not be particularly useful.

Any transition from using something broken to using something not broken
involves a migration path.  Years ago VC++ left for-loop variables in scope
after the loop completed.  The solution isn't to simply turn fix it and
break old code, it's to provide a migration path behind a switch.   It's
the same here.  The goal is that if code compiles with VC++, it compiles
with clang-cl.  That's the migration path.


On Thu, Jul 10, 2014 at 3:56 PM, Nikola Smiljanic <popizdeh at gmail.com>
wrote:

> On Fri, Jul 11, 2014 at 6:56 AM, Edward Diener <
> eldlistmailingz at tropicsoft.com> wrote:
>
>>
>> Am MSVC-compatible preprocessor is a broken preprocessor. How can this be
>> an excellent thing ? If the idea is to emulate VC++ in every respect, there
>> is no point in using clang-cl. Really !
>>
>> Again there is no point in using clang if you are just going to emulate
>> VC++. Is not the idea to produce a standard conforming compiler for people
>> to use on their VC++ code which is better and cleaner than VC++ with all
>> its bugs.
>>
>>
> C'mon Edward, surely you're joking? Even if it emulates msvc bugs clang
> still compiles faster, has better diagnostics, has better language support,
> has static analyzer... There's a number of reasons for people to use it.
>
> Nikola
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20140710/3ab3cd84/attachment.html>


More information about the cfe-dev mailing list