On May 7, 2011, at 10:47 AM, Francois Pichet wrote: > Author: fpichet > Date: Sat May 7 12:47:38 2011 > New Revision: 131051 > > URL: http://llvm.org/viewvc/llvm-project?rev=131051&view=rev > Log: > Temporary preprocessor hack to get around the Microsoft __identifier(x) > extension. > http://msdn.microsoft.com/en-us/library/hzc8ytsz(v=VS.100).aspx > > Microsoft doc claims this is a C++/CLI feature but it is really always > enabled. > This removes 2 error when parsing MFC code with clang.
> Modified: > cfe/trunk/lib/Frontend/InitPreprocessor.cpp > cfe/trunk/test/Parser/MicrosoftExtensions.cpp > > Modified: cfe/trunk/lib/Frontend/InitPreprocessor.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Frontend/InitPreprocessor.cpp?rev=131051&r1=131050&r2=131051&view=diff > ============================================================================== > --- cfe/trunk/lib/Frontend/InitPreprocessor.cpp (original) > +++ cfe/trunk/lib/Frontend/InitPreprocessor.cpp Sat May 7 12:47:38 2011 > @@ -343,6 +343,7 @@ > // Since we define wchar_t in C++ mode. > Builder.defineMacro("_WCHAR_T_DEFINED"); > Builder.defineMacro("_NATIVE_WCHAR_T_DEFINED"); > + Builder.append("#define __identifier(x) x"); > Builder.append("class type_info;"); > } Can you put // FIXME: Support Microsoft's __identifier extension in the lexer > in there, so we don't forget about this little hack? - Doug > > Modified: cfe/trunk/test/Parser/MicrosoftExtensions.cpp > URL: > http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/MicrosoftExtensions.cpp?rev=131051&r1=131050&r2=131051&view=diff > ============================================================================== > --- cfe/trunk/test/Parser/MicrosoftExtensions.cpp (original) > +++ cfe/trunk/test/Parser/MicrosoftExtensions.cpp Sat May 7 12:47:38 2011 > @@ -207,3 +207,6 @@ > __if_not_exists(IF_EXISTS::Type_not) { > int var244; > } > + > +int __identifier(generic) = 3; > + > > > _______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
