[cfe-dev] Extra #defines for Windows SDK 6.0a/VS2008

Francois Pichet pichet2000 at gmail.com
Fri Aug 6 10:55:34 PDT 2010


This is required to parse MFC/ATL header. A large percentage of
Windows C++ applications depend on those. Just the core system headers
I am not sure yet.



On Fri, Aug 6, 2010 at 1:33 PM, John McCall <rjmccall at apple.com> wrote:
> On Aug 6, 2010, at 10:17 AM, Francois Pichet wrote:
>> Based on my investigation so far there are probably dozen of small
>> patches needed to support all MS extensions but the major problem is
>> dealing with template. The Microsoft compiler seems to postpone all
>> template type checking and name resolution to instantiation time.
>> CLang is far more strict. For proper MS compatibility related to
>> template, CLang will probably need something similar to GCC's
>> -fpermissive mode.
>
> Is this actually required in order to parse system headers?  GCC also has
> a broken template system that we're intentionally not 100% compatible with.
> I would be extremely reluctant to introduce a permissive template-parsing mode,
> given that (1) lazy projects will inevitably just turn it on forever and (2) it will
> inevitably devolve into "emulate the broken template behavior of N versions
> of K compilers".
>
> Our policy with GCC has been to force projects to fix their code, introducing
> just enough workarounds to get through the system headers.
>
> John.




More information about the cfe-dev mailing list