From: Manuel Klimek Date: Fri, 25 Sep 2015 17:53:16 +0000 (+0000) Subject: Fix bug on reporting availability of deleted methods in libclang. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=5a6732530abc88d273922ebc41f0e5730d51a24d;p=clang Fix bug on reporting availability of deleted methods in libclang. Patch by Sergey Kalinichev. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@248596 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/test/Index/availability.cpp b/test/Index/availability.cpp new file mode 100644 index 0000000000..61f1534b3c --- /dev/null +++ b/test/Index/availability.cpp @@ -0,0 +1,13 @@ +void foo() = delete; + +struct Foo { + int foo() = delete; + Foo() = delete; +}; + + +// RUN: c-index-test -test-print-type --std=c++11 %s | FileCheck %s +// CHECK: FunctionDecl=foo:1:6 (unavailable) [type=void ()] [typekind=FunctionProto] [resulttype=void] [resulttypekind=Void] [isPOD=0] +// CHECK: StructDecl=Foo:3:8 (Definition) [type=Foo] [typekind=Record] [isPOD=1] +// CHECK: CXXMethod=foo:4:7 (unavailable) [type=int ()] [typekind=FunctionProto] [resulttype=int] [resulttypekind=Int] [isPOD=0] +// CHECK: CXXConstructor=Foo:5:3 (unavailable) [type=void ()] [typekind=FunctionProto] [resulttype=void] [resulttypekind=Void] [isPOD=0] diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index 53fa684d1d..829cab736d 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -6412,7 +6412,7 @@ extern "C" { static CXAvailabilityKind getCursorAvailabilityForDecl(const Decl *D) { if (isa(D) && cast(D)->isDeleted()) - return CXAvailability_Available; + return CXAvailability_NotAvailable; switch (D->getAvailability()) { case AR_Available: