[cfe-commits] r112139 - in /cfe/trunk: include/clang-c/Index.h test/Index/c-index-api-loadTU-test.m tools/c-index-test/c-index-test.c tools/libclang/CIndex.cpp tools/libclang/CMakeLists.txt tools/libclang/CXCursor.cpp tools/libclang/CXCursor.h tools/libclang/CXType.cpp tools/libclang/CXType.h tools/libclang/CXTypes.cpp tools/libclang/libclang.darwin.exports tools/libclang/libclang.exports
Ted Kremenek
kremenek at apple.com
Wed Aug 25 18:42:22 PDT 2010
Author: kremenek
Date: Wed Aug 25 20:42:22 2010
New Revision: 112139
URL: http://llvm.org/viewvc/llvm-project?rev=112139&view=rev
Log:
Add libclang API hook "clang_getIBOutletCollectionType" to query the collection type for iboutletcollection attributes.
Added:
cfe/trunk/tools/libclang/CXType.cpp
- copied, changed from r112132, cfe/trunk/tools/libclang/CXTypes.cpp
cfe/trunk/tools/libclang/CXType.h
Removed:
cfe/trunk/tools/libclang/CXTypes.cpp
Modified:
cfe/trunk/include/clang-c/Index.h
cfe/trunk/test/Index/c-index-api-loadTU-test.m
cfe/trunk/tools/c-index-test/c-index-test.c
cfe/trunk/tools/libclang/CIndex.cpp
cfe/trunk/tools/libclang/CMakeLists.txt
cfe/trunk/tools/libclang/CXCursor.cpp
cfe/trunk/tools/libclang/CXCursor.h
cfe/trunk/tools/libclang/libclang.darwin.exports
cfe/trunk/tools/libclang/libclang.exports
Modified: cfe/trunk/include/clang-c/Index.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang-c/Index.h?rev=112139&r1=112138&r2=112139&view=diff
==============================================================================
--- cfe/trunk/include/clang-c/Index.h (original)
+++ cfe/trunk/include/clang-c/Index.h Wed Aug 25 20:42:22 2010
@@ -1304,7 +1304,7 @@
/**
* @}
*/
-
+
/**
* \defgroup CINDEX_TYPES Type information for CXCursors
*
@@ -1441,6 +1441,24 @@
/**
* @}
*/
+
+/**
+ * \defgroup CINDEX_TYPES Information for attributes
+ *
+ * @{
+ */
+
+
+/**
+ * \brief For cursors representing an iboutletcollection attribute,
+ * this function returns the collection element type.
+ *
+ */
+CINDEX_LINKAGE CXType clang_getIBOutletCollectionType(CXCursor);
+
+/**
+ * @}
+ */
/**
* \defgroup CINDEX_CURSOR_TRAVERSAL Traversing the AST with cursors
Modified: cfe/trunk/test/Index/c-index-api-loadTU-test.m
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/Index/c-index-api-loadTU-test.m?rev=112139&r1=112138&r2=112139&view=diff
==============================================================================
--- cfe/trunk/test/Index/c-index-api-loadTU-test.m (original)
+++ cfe/trunk/test/Index/c-index-api-loadTU-test.m Wed Aug 25 20:42:22 2010
@@ -56,7 +56,7 @@
// Test attribute traversal.
#define IBOutlet __attribute__((iboutlet))
-#define IBOutletCollection(ClassName) __attribute__((iboutletcollection))
+#define IBOutletCollection(ClassName) __attribute__((iboutletcollection(ClassName)))
#define IBAction void)__attribute__((ibaction)
@interface TestAttributes {
@@ -143,10 +143,15 @@
// CHECK: c-index-api-loadTU-test.m:63:19: ObjCIvarDecl=anOutlet:63:19 (Definition) Extent=[63:19 - 63:27]
// CHECK: <invalid loc>:0:0: attribute(iboutlet)=
// CHECK: c-index-api-loadTU-test.m:64:29: ObjCIvarDecl=anOutletCollection:64:29 (Definition) Extent=[64:29 - 64:47]
-// CHECK: <invalid loc>:0:0: attribute(iboutletcollection)=
+// CHECK: <invalid loc>:0:0: attribute(iboutletcollection)= [IBOutletCollection=ObjCObjectPointer]
// CHECK: c-index-api-loadTU-test.m:64:26: TypeRef=id:0:0 Extent=[64:26 - 64:28]
// CHECK: c-index-api-loadTU-test.m:66:1: ObjCInstanceMethodDecl=actionMethod::66:1 Extent=[66:1 - 66:35]
// CHECK: <invalid loc>:0:0: attribute(ibaction)=
// CHECK: c-index-api-loadTU-test.m:66:31: ParmDecl=arg:66:31 (Definition) Extent=[66:28 - 66:34]
// CHECK: c-index-api-loadTU-test.m:66:28: TypeRef=id:0:0 Extent=[66:28 - 66:30]
+// CHECK: c-index-api-loadTU-test.m:69:16: StructDecl=X0:69:16 Extent=[69:9 - 69:18]
+// CHECK: c-index-api-loadTU-test.m:69:19: TypedefDecl=X1:69:19 (Definition) Extent=[69:19 - 69:21]
+// CHECK: c-index-api-loadTU-test.m:69:16: TypeRef=struct X0:71:8 Extent=[69:16 - 69:18]
+// CHECK: c-index-api-loadTU-test.m:70:8: StructDecl=X0:70:8 Extent=[70:1 - 70:10]
+// CHECK: c-index-api-loadTU-test.m:71:8: StructDecl=X0:71:8 (Definition) Extent=[71:1 - 71:14]
Modified: cfe/trunk/tools/c-index-test/c-index-test.c
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/c-index-test/c-index-test.c?rev=112139&r1=112138&r2=112139&view=diff
==============================================================================
--- cfe/trunk/tools/c-index-test/c-index-test.c (original)
+++ cfe/trunk/tools/c-index-test/c-index-test.c Wed Aug 25 20:42:22 2010
@@ -195,6 +195,14 @@
printf(" (unavailable)");
break;
}
+
+ if (Cursor.kind == CXCursor_IBOutletCollectionAttr) {
+ CXType T =
+ clang_getCanonicalType(clang_getIBOutletCollectionType(Cursor));
+ CXString S = clang_getTypeKindSpelling(T.kind);
+ printf(" [IBOutletCollection=%s]", clang_getCString(S));
+ clang_disposeString(S);
+ }
}
}
Modified: cfe/trunk/tools/libclang/CIndex.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CIndex.cpp?rev=112139&r1=112138&r2=112139&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CIndex.cpp (original)
+++ cfe/trunk/tools/libclang/CIndex.cpp Wed Aug 25 20:42:22 2010
@@ -14,6 +14,7 @@
#include "CIndexer.h"
#include "CXCursor.h"
+#include "CXType.h"
#include "CXSourceLocation.h"
#include "CIndexDiagnostic.h"
@@ -3056,6 +3057,22 @@
} // end: extern "C"
//===----------------------------------------------------------------------===//
+// Attribute introspection.
+//===----------------------------------------------------------------------===//
+
+extern "C" {
+CXType clang_getIBOutletCollectionType(CXCursor C) {
+ if (C.kind != CXCursor_IBOutletCollectionAttr)
+ return cxtype::MakeCXType(QualType(), cxcursor::getCursorASTUnit(C));
+
+ IBOutletCollectionAttr *A =
+ cast<IBOutletCollectionAttr>(cxcursor::getCursorAttr(C));
+
+ return cxtype::MakeCXType(A->getInterface(), cxcursor::getCursorASTUnit(C));
+}
+} // end: extern "C"
+
+//===----------------------------------------------------------------------===//
// CXString Operations.
//===----------------------------------------------------------------------===//
Modified: cfe/trunk/tools/libclang/CMakeLists.txt
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CMakeLists.txt?rev=112139&r1=112138&r2=112139&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CMakeLists.txt (original)
+++ cfe/trunk/tools/libclang/CMakeLists.txt Wed Aug 25 20:42:22 2010
@@ -27,7 +27,7 @@
CIndexUSRs.cpp
CIndexer.cpp
CXCursor.cpp
- CXTypes.cpp
+ CXType.cpp
../../include/clang-c/Index.h
)
Modified: cfe/trunk/tools/libclang/CXCursor.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CXCursor.cpp?rev=112139&r1=112138&r2=112139&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CXCursor.cpp (original)
+++ cfe/trunk/tools/libclang/CXCursor.cpp Wed Aug 25 20:42:22 2010
@@ -358,6 +358,10 @@
return (Stmt *)Cursor.data[1];
}
+Attr *cxcursor::getCursorAttr(CXCursor Cursor) {
+ return (Attr *)Cursor.data[1];
+}
+
ASTContext &cxcursor::getCursorContext(CXCursor Cursor) {
return getCursorASTUnit(Cursor)->getASTContext();
}
Modified: cfe/trunk/tools/libclang/CXCursor.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CXCursor.h?rev=112139&r1=112138&r2=112139&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CXCursor.h (original)
+++ cfe/trunk/tools/libclang/CXCursor.h Wed Aug 25 20:42:22 2010
@@ -98,6 +98,8 @@
Decl *getCursorDecl(CXCursor Cursor);
Expr *getCursorExpr(CXCursor Cursor);
Stmt *getCursorStmt(CXCursor Cursor);
+Attr *getCursorAttr(CXCursor Cursor);
+
ASTContext &getCursorContext(CXCursor Cursor);
ASTUnit *getCursorASTUnit(CXCursor Cursor);
Copied: cfe/trunk/tools/libclang/CXType.cpp (from r112132, cfe/trunk/tools/libclang/CXTypes.cpp)
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CXType.cpp?p2=cfe/trunk/tools/libclang/CXType.cpp&p1=cfe/trunk/tools/libclang/CXTypes.cpp&r1=112132&r2=112139&rev=112139&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/CXTypes.cpp (original)
+++ cfe/trunk/tools/libclang/CXType.cpp Wed Aug 25 20:42:22 2010
@@ -13,6 +13,7 @@
#include "CIndexer.h"
#include "CXCursor.h"
+#include "CXType.h"
#include "clang/AST/Expr.h"
#include "clang/AST/Type.h"
#include "clang/AST/Decl.h"
@@ -85,12 +86,15 @@
#undef TKCASE
}
-static CXType MakeCXType(QualType T, ASTUnit *TU) {
+
+CXType cxtype::MakeCXType(QualType T, ASTUnit *TU) {
CXTypeKind TK = GetTypeKind(T);
CXType CT = { TK, { TK == CXType_Invalid ? 0 : T.getAsOpaquePtr(), TU }};
return CT;
}
+using cxtype::MakeCXType;
+
static inline QualType GetQualType(CXType CT) {
return QualType::getFromOpaquePtr(CT.data[0]);
}
Added: cfe/trunk/tools/libclang/CXType.h
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CXType.h?rev=112139&view=auto
==============================================================================
--- cfe/trunk/tools/libclang/CXType.h (added)
+++ cfe/trunk/tools/libclang/CXType.h Wed Aug 25 20:42:22 2010
@@ -0,0 +1,29 @@
+//===- CXTypes.h - Routines for manipulating CXTypes ----------------------===//
+//
+// The LLVM Compiler Infrastructure
+//
+// This file is distributed under the University of Illinois Open Source
+// License. See LICENSE.TXT for details.
+//
+//===----------------------------------------------------------------------===//
+//
+// This file defines routines for manipulating CXCursors.
+//
+//===----------------------------------------------------------------------===//
+
+#ifndef LLVM_CLANG_CXTYPES_H
+#define LLVM_CLANG_CXTYPES_H
+
+#include "clang-c/Index.h"
+#include "clang/AST/Type.h"
+
+namespace clang {
+
+class ASTUnit;
+
+namespace cxtype {
+
+CXType MakeCXType(QualType T, ASTUnit *TU);
+
+}} // end namespace clang::cxtype
+#endif
Removed: cfe/trunk/tools/libclang/CXTypes.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/CXTypes.cpp?rev=112138&view=auto
==============================================================================
--- cfe/trunk/tools/libclang/CXTypes.cpp (original)
+++ cfe/trunk/tools/libclang/CXTypes.cpp (removed)
@@ -1,293 +0,0 @@
-//===- CXTypes.cpp - Implements 'CXTypes' aspect of libclang ------------===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===--------------------------------------------------------------------===//
-//
-// This file implements the 'CXTypes' API hooks in the Clang-C library.
-//
-//===--------------------------------------------------------------------===//
-
-#include "CIndexer.h"
-#include "CXCursor.h"
-#include "clang/AST/Expr.h"
-#include "clang/AST/Type.h"
-#include "clang/AST/Decl.h"
-#include "clang/AST/DeclObjC.h"
-#include "clang/Frontend/ASTUnit.h"
-
-using namespace clang;
-
-static CXTypeKind GetBuiltinTypeKind(const BuiltinType *BT) {
-#define BTCASE(K) case BuiltinType::K: return CXType_##K
- switch (BT->getKind()) {
- BTCASE(Void);
- BTCASE(Bool);
- BTCASE(Char_U);
- BTCASE(UChar);
- BTCASE(Char16);
- BTCASE(Char32);
- BTCASE(UShort);
- BTCASE(UInt);
- BTCASE(ULong);
- BTCASE(ULongLong);
- BTCASE(UInt128);
- BTCASE(Char_S);
- BTCASE(SChar);
- BTCASE(WChar);
- BTCASE(Short);
- BTCASE(Int);
- BTCASE(Long);
- BTCASE(LongLong);
- BTCASE(Int128);
- BTCASE(Float);
- BTCASE(Double);
- BTCASE(LongDouble);
- BTCASE(NullPtr);
- BTCASE(Overload);
- BTCASE(Dependent);
- BTCASE(ObjCId);
- BTCASE(ObjCClass);
- BTCASE(ObjCSel);
- default:
- return CXType_Unexposed;
- }
-#undef BTCASE
-}
-
-static CXTypeKind GetTypeKind(QualType T) {
- Type *TP = T.getTypePtr();
- if (!TP)
- return CXType_Invalid;
-
-#define TKCASE(K) case Type::K: return CXType_##K
- switch (TP->getTypeClass()) {
- case Type::Builtin:
- return GetBuiltinTypeKind(cast<BuiltinType>(TP));
- TKCASE(Complex);
- TKCASE(Pointer);
- TKCASE(BlockPointer);
- TKCASE(LValueReference);
- TKCASE(RValueReference);
- TKCASE(Record);
- TKCASE(Enum);
- TKCASE(Typedef);
- TKCASE(ObjCInterface);
- TKCASE(ObjCObjectPointer);
- TKCASE(FunctionNoProto);
- TKCASE(FunctionProto);
- default:
- return CXType_Unexposed;
- }
-#undef TKCASE
-}
-
-static CXType MakeCXType(QualType T, ASTUnit *TU) {
- CXTypeKind TK = GetTypeKind(T);
- CXType CT = { TK, { TK == CXType_Invalid ? 0 : T.getAsOpaquePtr(), TU }};
- return CT;
-}
-
-static inline QualType GetQualType(CXType CT) {
- return QualType::getFromOpaquePtr(CT.data[0]);
-}
-
-static inline ASTUnit* GetASTU(CXType CT) {
- return static_cast<ASTUnit*>(CT.data[1]);
-}
-
-extern "C" {
-
-CXType clang_getCursorType(CXCursor C) {
- ASTUnit *AU = cxcursor::getCursorASTUnit(C);
-
- if (clang_isExpression(C.kind)) {
- QualType T = cxcursor::getCursorExpr(C)->getType();
- return MakeCXType(T, AU);
- }
-
- if (clang_isDeclaration(C.kind)) {
- Decl *D = cxcursor::getCursorDecl(C);
-
- if (TypeDecl *TD = dyn_cast<TypeDecl>(D))
- return MakeCXType(QualType(TD->getTypeForDecl(), 0), AU);
- if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(D))
- return MakeCXType(QualType(ID->getTypeForDecl(), 0), AU);
- if (ValueDecl *VD = dyn_cast<ValueDecl>(D))
- return MakeCXType(VD->getType(), AU);
- if (ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(D))
- return MakeCXType(PD->getType(), AU);
- if (FunctionDecl *FD = dyn_cast<FunctionDecl>(D))
- return MakeCXType(FD->getType(), AU);
- return MakeCXType(QualType(), AU);
- }
-
- return MakeCXType(QualType(), AU);
-}
-
-CXType clang_getCanonicalType(CXType CT) {
- if (CT.kind == CXType_Invalid)
- return CT;
-
- QualType T = GetQualType(CT);
-
- if (T.isNull())
- return MakeCXType(QualType(), GetASTU(CT));
-
- ASTUnit *AU = GetASTU(CT);
- return MakeCXType(AU->getASTContext().getCanonicalType(T), AU);
-}
-
-CXType clang_getPointeeType(CXType CT) {
- QualType T = GetQualType(CT);
- Type *TP = T.getTypePtr();
-
- if (!TP)
- return MakeCXType(QualType(), GetASTU(CT));
-
- switch (TP->getTypeClass()) {
- case Type::Pointer:
- T = cast<PointerType>(TP)->getPointeeType();
- break;
- case Type::BlockPointer:
- T = cast<BlockPointerType>(TP)->getPointeeType();
- break;
- case Type::LValueReference:
- case Type::RValueReference:
- T = cast<ReferenceType>(TP)->getPointeeType();
- break;
- case Type::ObjCObjectPointer:
- T = cast<ObjCObjectPointerType>(TP)->getPointeeType();
- break;
- default:
- T = QualType();
- break;
- }
- return MakeCXType(T, GetASTU(CT));
-}
-
-CXCursor clang_getTypeDeclaration(CXType CT) {
- if (CT.kind == CXType_Invalid)
- return cxcursor::MakeCXCursorInvalid(CXCursor_NoDeclFound);
-
- QualType T = GetQualType(CT);
- Type *TP = T.getTypePtr();
-
- if (!TP)
- return cxcursor::MakeCXCursorInvalid(CXCursor_NoDeclFound);
-
- Decl *D = 0;
-
- switch (TP->getTypeClass()) {
- case Type::Typedef:
- D = cast<TypedefType>(TP)->getDecl();
- break;
- case Type::ObjCObject:
- D = cast<ObjCObjectType>(TP)->getInterface();
- break;
- case Type::ObjCInterface:
- D = cast<ObjCInterfaceType>(TP)->getDecl();
- break;
- case Type::Record:
- case Type::Enum:
- D = cast<TagType>(TP)->getDecl();
- break;
- default:
- break;
- }
-
- if (!D)
- return cxcursor::MakeCXCursorInvalid(CXCursor_NoDeclFound);
-
- return cxcursor::MakeCXCursor(D, GetASTU(CT));
-}
-
-CXString clang_getTypeKindSpelling(enum CXTypeKind K) {
- const char *s = 0;
-#define TKIND(X) case CXType_##X: s = "" #X ""; break
- switch (K) {
- TKIND(Invalid);
- TKIND(Unexposed);
- TKIND(Void);
- TKIND(Bool);
- TKIND(Char_U);
- TKIND(UChar);
- TKIND(Char16);
- TKIND(Char32);
- TKIND(UShort);
- TKIND(UInt);
- TKIND(ULong);
- TKIND(ULongLong);
- TKIND(UInt128);
- TKIND(Char_S);
- TKIND(SChar);
- TKIND(WChar);
- TKIND(Short);
- TKIND(Int);
- TKIND(Long);
- TKIND(LongLong);
- TKIND(Int128);
- TKIND(Float);
- TKIND(Double);
- TKIND(LongDouble);
- TKIND(NullPtr);
- TKIND(Overload);
- TKIND(Dependent);
- TKIND(ObjCId);
- TKIND(ObjCClass);
- TKIND(ObjCSel);
- TKIND(Complex);
- TKIND(Pointer);
- TKIND(BlockPointer);
- TKIND(LValueReference);
- TKIND(RValueReference);
- TKIND(Record);
- TKIND(Enum);
- TKIND(Typedef);
- TKIND(ObjCInterface);
- TKIND(ObjCObjectPointer);
- TKIND(FunctionNoProto);
- TKIND(FunctionProto);
- }
-#undef TKIND
- return cxstring::createCXString(s);
-}
-
-unsigned clang_equalTypes(CXType A, CXType B) {
- return A.data[0] == B.data[0] && A.data[1] == B.data[1];;
-}
-
-CXType clang_getResultType(CXType X) {
- QualType T = GetQualType(X);
- if (!T.getTypePtr())
- return MakeCXType(QualType(), GetASTU(X));
-
- if (const FunctionType *FD = T->getAs<FunctionType>())
- return MakeCXType(FD->getResultType(), GetASTU(X));
-
- return MakeCXType(QualType(), GetASTU(X));
-}
-
-CXType clang_getCursorResultType(CXCursor C) {
- if (clang_isDeclaration(C.kind)) {
- Decl *D = cxcursor::getCursorDecl(C);
- if (const ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(D))
- return MakeCXType(MD->getResultType(), cxcursor::getCursorASTUnit(C));
-
- return clang_getResultType(clang_getCursorType(C));
- }
-
- return MakeCXType(QualType(), cxcursor::getCursorASTUnit(C));
-}
-
-unsigned clang_isPODType(CXType X) {
- QualType T = GetQualType(X);
- if (!T.getTypePtr())
- return 0;
- return T->isPODType() ? 1 : 0;
-}
-
-} // end: extern "C"
Modified: cfe/trunk/tools/libclang/libclang.darwin.exports
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/libclang.darwin.exports?rev=112139&r1=112138&r2=112139&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/libclang.darwin.exports (original)
+++ cfe/trunk/tools/libclang/libclang.darwin.exports Wed Aug 25 20:42:22 2010
@@ -30,6 +30,7 @@
_clang_equalTypes
_clang_formatDiagnostic
_clang_getCString
+_clang_getIBOutletCollectionType
_clang_getCanonicalType
_clang_getClangVersion
_clang_getCompletionAvailability
Modified: cfe/trunk/tools/libclang/libclang.exports
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/libclang/libclang.exports?rev=112139&r1=112138&r2=112139&view=diff
==============================================================================
--- cfe/trunk/tools/libclang/libclang.exports (original)
+++ cfe/trunk/tools/libclang/libclang.exports Wed Aug 25 20:42:22 2010
@@ -14,8 +14,8 @@
clang_createTranslationUnit
clang_createTranslationUnitFromSourceFile
clang_defaultCodeCompleteOptions
-clang_defaultEditingTranslationUnitOptions
clang_defaultDiagnosticDisplayOptions
+clang_defaultEditingTranslationUnitOptions
clang_defaultReparseOptions
clang_defaultSaveOptions
clang_disposeCodeCompleteResults
@@ -47,8 +47,8 @@
clang_getCursorLinkage
clang_getCursorLocation
clang_getCursorReferenced
-clang_getCursorSpelling
clang_getCursorResultType
+clang_getCursorSpelling
clang_getCursorType
clang_getCursorUSR
clang_getDefinitionSpellingAndExtent
@@ -63,6 +63,7 @@
clang_getFile
clang_getFileName
clang_getFileTime
+clang_getIBOutletCollectionType
clang_getInclusions
clang_getInstantiationLocation
clang_getLocation
@@ -88,8 +89,8 @@
clang_isDeclaration
clang_isExpression
clang_isInvalid
-clang_isPreprocessing
clang_isPODType
+clang_isPreprocessing
clang_isReference
clang_isStatement
clang_isTranslationUnit
More information about the cfe-commits
mailing list