summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/include/clang-c/Index.h12
-rw-r--r--clang/test/Index/annotate-tokens.cpp12
-rw-r--r--clang/test/Index/print-type-size.cpp4
-rw-r--r--clang/tools/c-index-test/c-index-test.c2
-rw-r--r--clang/tools/libclang/CIndex.cpp31
-rw-r--r--clang/tools/libclang/libclang.exports13
6 files changed, 13 insertions, 61 deletions
diff --git a/clang/include/clang-c/Index.h b/clang/include/clang-c/Index.h
index a0c4dc98ada..587008a7210 100644
--- a/clang/include/clang-c/Index.h
+++ b/clang/include/clang-c/Index.h
@@ -32,7 +32,7 @@
* compatible, thus CINDEX_VERSION_MAJOR is expected to remain stable.
*/
#define CINDEX_VERSION_MAJOR 0
-#define CINDEX_VERSION_MINOR 46
+#define CINDEX_VERSION_MINOR 45
#define CINDEX_VERSION_ENCODE(major, minor) ( \
((major) * 10000) \
@@ -2642,16 +2642,6 @@ CINDEX_LINKAGE enum CXCursorKind clang_getCursorKind(CXCursor);
CINDEX_LINKAGE unsigned clang_isDeclaration(enum CXCursorKind);
/**
- * \brief Determine whether the given declaration is invalid.
- *
- * A declaration is invalid if it could not be parsed successfully.
- *
- * \returns non-zero if the cursor represents a declaration and it is
- * invalid, otherwise NULL.
- */
-CINDEX_LINKAGE unsigned clang_isInvalidDeclaration(CXCursor);
-
-/**
* \brief Determine whether the given cursor kind represents a simple
* reference.
*
diff --git a/clang/test/Index/annotate-tokens.cpp b/clang/test/Index/annotate-tokens.cpp
index 67bdf6317aa..460ab51dd95 100644
--- a/clang/test/Index/annotate-tokens.cpp
+++ b/clang/test/Index/annotate-tokens.cpp
@@ -37,9 +37,7 @@ class C {
~C();
};
-auto test5(X) -> X;
-
-// RUN: c-index-test -test-annotate-tokens=%s:1:1:41:1 %s -std=c++14 -fno-delayed-template-parsing | FileCheck %s
+// RUN: c-index-test -test-annotate-tokens=%s:1:1:38:1 %s -fno-delayed-template-parsing | FileCheck %s
// CHECK: Keyword: "struct" [1:1 - 1:7] StructDecl=bonk:1:8 (Definition)
// CHECK: Identifier: "bonk" [1:8 - 1:12] StructDecl=bonk:1:8 (Definition)
// CHECK: Punctuation: "{" [1:13 - 1:14] StructDecl=bonk:1:8 (Definition)
@@ -186,14 +184,6 @@ auto test5(X) -> X;
// CHECK: Punctuation: "}" [29:22 - 29:23] CompoundStmt=
// CHECK: Punctuation: "~" [37:3 - 37:4] CXXDestructor=~C:37:3
// CHECK: Identifier: "C" [37:4 - 37:5] CXXDestructor=~C:37:3
-// CHECK: Keyword: "auto" [40:1 - 40:5] FunctionDecl=test5:40:6
-// CHECK: Identifier: "test5" [40:6 - 40:11] FunctionDecl=test5:40:6
-// CHECK: Punctuation: "(" [40:11 - 40:12] FunctionDecl=test5:40:6
-// CHECK: Identifier: "X" [40:12 - 40:13] TypeRef=struct X:7:8
-// CHECK: Punctuation: ")" [40:13 - 40:14] FunctionDecl=test5:40:6
-// CHECK: Punctuation: "->" [40:15 - 40:17] FunctionDecl=test5:40:6
-// CHECK: Identifier: "X" [40:18 - 40:19] TypeRef=struct X:7:8
-// CHECK: Punctuation: ";" [40:19 - 40:20]
// RUN: env LIBCLANG_DISABLE_CRASH_RECOVERY=1 c-index-test -test-annotate-tokens=%s:32:1:32:13 %s | FileCheck %s -check-prefix=CHECK2
// CHECK2: Keyword: "if" [32:3 - 32:5] IfStmt=
diff --git a/clang/test/Index/print-type-size.cpp b/clang/test/Index/print-type-size.cpp
index 1ea53462733..45de93f3082 100644
--- a/clang/test/Index/print-type-size.cpp
+++ b/clang/test/Index/print-type-size.cpp
@@ -4,8 +4,8 @@
namespace basic {
-// CHECK64: VarDecl=v:[[@LINE+2]]:6 (Definition) (invalid) [type=void] [typekind=Void]
-// CHECK32: VarDecl=v:[[@LINE+1]]:6 (Definition) (invalid) [type=void] [typekind=Void]
+// CHECK64: VarDecl=v:[[@LINE+2]]:6 (Definition) [type=void] [typekind=Void]
+// CHECK32: VarDecl=v:[[@LINE+1]]:6 (Definition) [type=void] [typekind=Void]
void v;
// CHECK64: VarDecl=v1:[[@LINE+2]]:7 (Definition) [type=void *] [typekind=Pointer] [sizeof=8] [alignof=8]
diff --git a/clang/tools/c-index-test/c-index-test.c b/clang/tools/c-index-test/c-index-test.c
index c5e345ef6af..99f05669b64 100644
--- a/clang/tools/c-index-test/c-index-test.c
+++ b/clang/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/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index 429fca34744..f4d347108c9 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/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/clang/tools/libclang/libclang.exports b/clang/tools/libclang/libclang.exports
index f5d2de58230..bf95b97073f 100644
--- a/clang/tools/libclang/libclang.exports
+++ b/clang/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
OpenPOWER on IntegriCloud