diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2016-02-08 15:52:13 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2016-02-08 15:52:13 +0000 |
commit | 774e8fe49a10b0e69c7c378c863b30b37a82de1a (patch) | |
tree | 852c25372bf54ac4148e1bf9d012a8cd638ffbfc | |
parent | a64f7d1148940ff55393298a3c61a651dea5b656 (diff) | |
download | bcm5719-llvm-774e8fe49a10b0e69c7c378c863b30b37a82de1a.tar.gz bcm5719-llvm-774e8fe49a10b0e69c7c378c863b30b37a82de1a.zip |
Move static functions returning UDTs outside of the extern "C" block. Silences an MSVC warning, and reduces the number of exported symbols.
llvm-svn: 260104
-rw-r--r-- | clang/tools/libclang/CIndex.cpp | 65 |
1 files changed, 33 insertions, 32 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp index 1dbe056a02d..9c1efd1aa1e 100644 --- a/clang/tools/libclang/CIndex.cpp +++ b/clang/tools/libclang/CIndex.cpp @@ -3996,6 +3996,39 @@ static std::string getMangledStructor(std::unique_ptr<MangleContext> &M, return BOS.str(); } +static std::string getMangledName(std::unique_ptr<MangleContext> &M, + std::unique_ptr<llvm::DataLayout> &DL, + const NamedDecl *ND) { + std::string FrontendBuf; + llvm::raw_string_ostream FOS(FrontendBuf); + + M->mangleName(ND, FOS); + + std::string BackendBuf; + llvm::raw_string_ostream BOS(BackendBuf); + + llvm::Mangler::getNameWithPrefix(BOS, llvm::Twine(FOS.str()), *DL); + + return BOS.str(); +} + +static std::string getMangledThunk(std::unique_ptr<MangleContext> &M, + std::unique_ptr<llvm::DataLayout> &DL, + const CXXMethodDecl *MD, + const ThunkInfo &T) { + std::string FrontendBuf; + llvm::raw_string_ostream FOS(FrontendBuf); + + M->mangleThunk(MD, T, FOS); + + std::string BackendBuf; + llvm::raw_string_ostream BOS(BackendBuf); + + llvm::Mangler::getNameWithPrefix(BOS, llvm::Twine(FOS.str()), *DL); + + return BOS.str(); +} + extern "C" { unsigned clang_visitChildren(CXCursor parent, @@ -4369,38 +4402,6 @@ CXString clang_Cursor_getMangling(CXCursor C) { return cxstring::createDup(FinalBufOS.str()); } -static std::string getMangledName(std::unique_ptr<MangleContext> &M, - std::unique_ptr<llvm::DataLayout> &DL, - const NamedDecl *ND) { - std::string FrontendBuf; - llvm::raw_string_ostream FOS(FrontendBuf); - - M->mangleName(ND, FOS); - - std::string BackendBuf; - llvm::raw_string_ostream BOS(BackendBuf); - - llvm::Mangler::getNameWithPrefix(BOS, llvm::Twine(FOS.str()), *DL); - - return BOS.str(); -} - -static std::string getMangledThunk(std::unique_ptr<MangleContext> &M, - std::unique_ptr<llvm::DataLayout> &DL, - const CXXMethodDecl *MD, const ThunkInfo &T) { - std::string FrontendBuf; - llvm::raw_string_ostream FOS(FrontendBuf); - - M->mangleThunk(MD, T, FOS); - - std::string BackendBuf; - llvm::raw_string_ostream BOS(BackendBuf); - - llvm::Mangler::getNameWithPrefix(BOS, llvm::Twine(FOS.str()), *DL); - - return BOS.str(); -} - CXStringSet *clang_Cursor_getCXXManglings(CXCursor C) { if (clang_isInvalid(C.kind) || !clang_isDeclaration(C.kind)) return nullptr; |