From 9d1f05aef8a0e39105e39e5ac4be4bfee03a1a52 Mon Sep 17 00:00:00 2001 From: Ehsan Akhgari Date: Tue, 6 Oct 2015 18:24:33 +0000 Subject: Make clang_Cursor_getMangling don't mangle if the declaration isn't mangled Right now clang_Cursor_getMangling will attempt to mangle any declaration, even if the declaration isn't mangled (extern "C"). This results in a partially mangled name which isn't useful for much. This patch makes clang_Cursor_getMangling return an empty string if the declaration isn't mangled. Patch by Michael Wu . llvm-svn: 249437 --- clang/tools/c-index-test/c-index-test.c | 2 ++ 1 file changed, 2 insertions(+) (limited to 'clang/tools/c-index-test/c-index-test.c') diff --git a/clang/tools/c-index-test/c-index-test.c b/clang/tools/c-index-test/c-index-test.c index eeeb832cd87..6292f73068c 100644 --- a/clang/tools/c-index-test/c-index-test.c +++ b/clang/tools/c-index-test/c-index-test.c @@ -1429,6 +1429,8 @@ static enum CXChildVisitResult PrintTypeSize(CXCursor cursor, CXCursor p, static enum CXChildVisitResult PrintMangledName(CXCursor cursor, CXCursor p, CXClientData d) { + if (clang_isInvalid(clang_getCursorKind(cursor))) + return CXChildVisit_Recurse; CXString MangledName; PrintCursor(cursor, NULL); MangledName = clang_Cursor_getMangling(cursor); -- cgit v1.2.3