diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/c-index-test/c-index-test.c | 2 | ||||
-rw-r--r-- | tools/libclang/CIndex.cpp | 31 | ||||
-rw-r--r-- | tools/libclang/libclang.exports | 13 |
3 files changed, 9 insertions, 37 deletions
diff --git a/tools/c-index-test/c-index-test.c b/tools/c-index-test/c-index-test.c index c5e345ef6a..99f05669b6 100644 --- a/tools/c-index-test/c-index-test.c +++ b/tools/c-index-test/c-index-test.c @@ -812,8 +812,6 @@ static void PrintCursor(CXCursor Cursor, const char *CommentSchemaFile) { printf(" (variadic)"); if (clang_Cursor_isObjCOptional(Cursor)) printf(" (@optional)"); - if (clang_isInvalidDeclaration(Cursor)) - printf(" (invalid)"); switch (clang_getCursorExceptionSpecificationType(Cursor)) { diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index 429fca3474..f4d347108c 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -785,16 +785,6 @@ bool CursorVisitor::VisitDeclaratorDecl(DeclaratorDecl *DD) { return false; } -static bool HasTrailingReturnType(FunctionDecl *ND) { - const QualType Ty = ND->getType(); - if (const FunctionType *AFT = Ty->getAs<FunctionType>()) { - if (const FunctionProtoType *FT = dyn_cast<FunctionProtoType>(AFT)) - return FT->hasTrailingReturn(); - } - - return false; -} - /// \brief Compare two base or member initializers based on their source order. static int CompareCXXCtorInitializers(CXXCtorInitializer *const *X, CXXCtorInitializer *const *Y) { @@ -814,16 +804,14 @@ bool CursorVisitor::VisitFunctionDecl(FunctionDecl *ND) { // written. This requires a bit of work. TypeLoc TL = TSInfo->getTypeLoc().IgnoreParens(); FunctionTypeLoc FTL = TL.getAs<FunctionTypeLoc>(); - const bool HasTrailingRT = HasTrailingReturnType(ND); // If we have a function declared directly (without the use of a typedef), // visit just the return type. Otherwise, just visit the function's type // now. - if ((FTL && !isa<CXXConversionDecl>(ND) && !HasTrailingRT && - Visit(FTL.getReturnLoc())) || + if ((FTL && !isa<CXXConversionDecl>(ND) && Visit(FTL.getReturnLoc())) || (!FTL && Visit(TL))) return true; - + // Visit the nested-name-specifier, if present. if (NestedNameSpecifierLoc QualifierLoc = ND->getQualifierLoc()) if (VisitNestedNameSpecifierLoc(QualifierLoc)) @@ -839,11 +827,7 @@ bool CursorVisitor::VisitFunctionDecl(FunctionDecl *ND) { // Visit the function parameters, if we have a function type. if (FTL && VisitFunctionTypeLoc(FTL, true)) return true; - - // Visit the function's trailing return type. - if (FTL && HasTrailingRT && Visit(FTL.getReturnLoc())) - return true; - + // FIXME: Attributes? } @@ -5437,15 +5421,6 @@ unsigned clang_isDeclaration(enum CXCursorKind K) { (K >= CXCursor_FirstExtraDecl && K <= CXCursor_LastExtraDecl); } -unsigned clang_isInvalidDeclaration(CXCursor C) { - if (clang_isDeclaration(C.kind)) { - if (const Decl *D = getCursorDecl(C)) - return D->isInvalidDecl(); - } - - return 0; -} - unsigned clang_isReference(enum CXCursorKind K) { return K >= CXCursor_FirstRef && K <= CXCursor_LastRef; } diff --git a/tools/libclang/libclang.exports b/tools/libclang/libclang.exports index f5d2de5823..bf95b97073 100644 --- a/tools/libclang/libclang.exports +++ b/tools/libclang/libclang.exports @@ -288,13 +288,12 @@ clang_index_isEntityObjCContainerKind clang_index_setClientContainer clang_index_setClientEntity clang_isAttribute -clang_isConstQualifiedType
-clang_isCursorDefinition
-clang_isDeclaration
-clang_isInvalidDeclaration
-clang_isExpression
-clang_isFileMultipleIncludeGuarded
-clang_isFunctionTypeVariadic
+clang_isConstQualifiedType +clang_isCursorDefinition +clang_isDeclaration +clang_isExpression +clang_isFileMultipleIncludeGuarded +clang_isFunctionTypeVariadic clang_isInvalid clang_isPODType clang_isPreprocessing |