зеркало из https://github.com/mozilla/gecko-dev.git
22 строки
828 B
Diff
22 строки
828 B
Diff
|
commit 009de5ea7a1913f0b4619cf514787bd52af38c28
|
||
|
Author: Michael Wu <mwu@mozilla.com>
|
||
|
Date: Thu Sep 24 11:36:08 2015 -0400
|
||
|
|
||
|
Return an empty string when a symbol isn't mangled
|
||
|
|
||
|
diff --git a/llvm/tools/clang/tools/libclang/CIndex.cpp b/llvm/tools/clang/tools/libclang/CIndex.cpp
|
||
|
index 9fa18d3..1253832 100644
|
||
|
--- a/llvm/tools/clang/tools/libclang/CIndex.cpp
|
||
|
+++ b/llvm/tools/clang/tools/libclang/CIndex.cpp
|
||
|
@@ -3891,6 +3891,10 @@ CXString clang_Cursor_getMangling(CXCursor C) {
|
||
|
ASTContext &Ctx = ND->getASTContext();
|
||
|
std::unique_ptr<MangleContext> MC(Ctx.createMangleContext());
|
||
|
|
||
|
+ // Don't mangle if we don't need to.
|
||
|
+ if (!MC->shouldMangleCXXName(ND))
|
||
|
+ return cxstring::createEmpty();
|
||
|
+
|
||
|
std::string FrontendBuf;
|
||
|
llvm::raw_string_ostream FrontendBufOS(FrontendBuf);
|
||
|
MC->mangleName(ND, FrontendBufOS);
|