diff options
author | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
---|---|---|
committer | Matt A. Tobin <mattatobin@localhost.localdomain> | 2018-02-02 04:16:08 -0500 |
commit | 5f8de423f190bbb79a62f804151bc24824fa32d8 (patch) | |
tree | 10027f336435511475e392454359edea8e25895d /build/build-clang/query-selector-visibility.patch | |
parent | 49ee0794b5d912db1f95dce6eb52d781dc210db5 (diff) | |
download | UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.gz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.lz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.tar.xz UXP-5f8de423f190bbb79a62f804151bc24824fa32d8.zip |
Add m-esr52 at 52.6.0
Diffstat (limited to 'build/build-clang/query-selector-visibility.patch')
-rw-r--r-- | build/build-clang/query-selector-visibility.patch | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/build/build-clang/query-selector-visibility.patch b/build/build-clang/query-selector-visibility.patch new file mode 100644 index 000000000..46a9642bd --- /dev/null +++ b/build/build-clang/query-selector-visibility.patch @@ -0,0 +1,79 @@ +commit 865b9340996f9f9d04b73b187248737dc6fd845e +Author: Michael Wu <mwu@mozilla.com> +Date: Mon Sep 14 17:47:21 2015 -0400 + + Add support for querying the visibility of a cursor + +diff --git a/clang/include/clang-c/Index.h b/clang/include/clang-c/Index.h +index fad9cfa..311bfcb 100644 +--- a/clang/include/clang-c/Index.h ++++ b/clang/include/clang-c/Index.h +@@ -2440,6 +2440,24 @@ enum CXLinkageKind { + CINDEX_LINKAGE enum CXLinkageKind clang_getCursorLinkage(CXCursor cursor); + + /** ++ * \brief Describe the visibility of the entity referred to by a cursor. ++ */ ++enum CXVisibilityKind { ++ /** \brief This value indicates that no visibility information is available ++ * for a provided CXCursor. */ ++ CXVisibility_Invalid, ++ ++ /** \brief Symbol not seen by the linker. */ ++ CXVisibility_Hidden, ++ /** \brief Symbol seen by the linker but resolves to a symbol inside this object. */ ++ CXVisibility_Protected, ++ /** \brief Symbol seen by the linker and acts like a normal symbol. */ ++ CXVisibility_Default, ++}; ++ ++CINDEX_LINKAGE enum CXVisibilityKind clang_getCursorVisibility(CXCursor cursor); ++ ++/** + * \brief Determine the availability of the entity that this cursor refers to, + * taking the current target platform into account. + * +diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp +index 8225a6c..9fa18d3 100644 +--- a/clang/tools/libclang/CIndex.cpp ++++ b/clang/tools/libclang/CIndex.cpp +@@ -6361,6 +6361,27 @@ CXLinkageKind clang_getCursorLinkage(CXCursor cursor) { + } // end: extern "C" + + //===----------------------------------------------------------------------===// ++// Operations for querying visibility of a cursor. ++//===----------------------------------------------------------------------===// ++ ++extern "C" { ++CXVisibilityKind clang_getCursorVisibility(CXCursor cursor) { ++ if (!clang_isDeclaration(cursor.kind)) ++ return CXVisibility_Invalid; ++ ++ const Decl *D = cxcursor::getCursorDecl(cursor); ++ if (const NamedDecl *ND = dyn_cast_or_null<NamedDecl>(D)) ++ switch (ND->getVisibility()) { ++ case HiddenVisibility: return CXVisibility_Hidden; ++ case ProtectedVisibility: return CXVisibility_Protected; ++ case DefaultVisibility: return CXVisibility_Default; ++ }; ++ ++ return CXVisibility_Invalid; ++} ++} // end: extern "C" ++ ++//===----------------------------------------------------------------------===// + // Operations for querying language of a cursor. + //===----------------------------------------------------------------------===// + +diff --git a/clang/tools/libclang/libclang.exports b/clang/tools/libclang/libclang.exports +index f6a7175..a919a8e 100644 +--- a/clang/tools/libclang/libclang.exports ++++ b/clang/tools/libclang/libclang.exports +@@ -173,6 +173,7 @@ clang_getCursorSemanticParent + clang_getCursorSpelling + clang_getCursorType + clang_getCursorUSR ++clang_getCursorVisibility + clang_getDeclObjCTypeEncoding + clang_getDefinitionSpellingAndExtent + clang_getDiagnostic |