Author: fpichet
Date: Wed Apr 27 00:07:51 2011
New Revision: 130290
URL: http://llvm.org/viewvc/llvm-project?rev=130290&view=rev
Log:
Add support for Microsoft __interface keyword. An __interface class is
basically a normal class containing just pure virtual functions. No urgency to
enforce that restriction in clang for now, so make __interface an "class" alias.
Modified:
cfe/trunk/include/clang/Basic/TokenKinds.def
cfe/trunk/test/Parser/MicrosoftExtensions.cpp
Modified: cfe/trunk/include/clang/Basic/TokenKinds.def
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Basic/TokenKinds.def?rev=130290&r1=130289&r2=130290&view=diff
==============================================================================
--- cfe/trunk/include/clang/Basic/TokenKinds.def (original)
+++ cfe/trunk/include/clang/Basic/TokenKinds.def Wed Apr 27 00:07:51 2011
@@ -427,6 +427,7 @@
ALIAS("_uuidof" , __uuidof , KEYMS | KEYBORLAND)
ALIAS("_inline" , inline , KEYMS)
ALIAS("_declspec" , __declspec , KEYMS)
+ALIAS("__interface" , class , KEYMS)
// Borland Extensions which should be disabled in strict conformance mode.
ALIAS("_pascal" , __pascal , KEYBORLAND)
Modified: cfe/trunk/test/Parser/MicrosoftExtensions.cpp
URL:
http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Parser/MicrosoftExtensions.cpp?rev=130290&r1=130289&r2=130290&view=diff
==============================================================================
--- cfe/trunk/test/Parser/MicrosoftExtensions.cpp (original)
+++ cfe/trunk/test/Parser/MicrosoftExtensions.cpp Wed Apr 27 00:07:51 2011
@@ -147,3 +147,8 @@
}
+__interface MicrosoftInterface;
+__interface MicrosoftInterface {
+ virtual void foo1() = 0;
+ virtual void foo2() = 0;
+};
\ No newline at end of file
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits