diff --git a/tools/libclang/ARCMigrate.cpp b/tools/libclang/ARCMigrate.cpp index b597383dfd2b1de488202f94cf30bd202edf6b80..44a60c4e3e2c17ad0f1e10cb158ebdd2170f5a2f 100644 --- a/tools/libclang/ARCMigrate.cpp +++ b/tools/libclang/ARCMigrate.cpp @@ -32,8 +32,6 @@ struct Remap { // libClang public APIs. //===----------------------------------------------------------------------===// -extern "C" { - CXRemapping clang_getRemappings(const char *migrate_dir_path) { #ifndef CLANG_ENABLE_ARCMT llvm::errs() << "error: feature not enabled in this build\n"; @@ -138,5 +136,3 @@ void clang_remap_getFilenames(CXRemapping map, unsigned index, void clang_remap_dispose(CXRemapping map) { delete static_cast<Remap *>(map); } - -} // end: extern "C" diff --git a/tools/libclang/CIndex.cpp b/tools/libclang/CIndex.cpp index df61a5783bcca670d78296aeb34676d697543d4c..7d917d6d67ea69a6a188896fc894e438619027f7 100644 --- a/tools/libclang/CIndex.cpp +++ b/tools/libclang/CIndex.cpp @@ -3110,7 +3110,6 @@ struct RegisterFatalErrorHandler { static llvm::ManagedStatic<RegisterFatalErrorHandler> RegisterFatalErrorHandlerOnce; -extern "C" { CXIndex clang_createIndex(int excludeDeclarationsFromPCH, int displayDiagnostics) { // We use crash recovery to make some of our APIs more reliable, implicitly @@ -3968,13 +3967,10 @@ CXCursor clang_getTranslationUnitCursor(CXTranslationUnit TU) { return MakeCXCursor(CXXUnit->getASTContext().getTranslationUnitDecl(), TU); } -} // end: extern "C" - //===----------------------------------------------------------------------===// // CXFile Operations. //===----------------------------------------------------------------------===// -extern "C" { CXString clang_getFileName(CXFile SFile) { if (!SFile) return cxstring::createNull(); @@ -4043,8 +4039,6 @@ int clang_File_isEqual(CXFile file1, CXFile file2) { return FEnt1->getUniqueID() == FEnt2->getUniqueID(); } -} // end: extern "C" - //===----------------------------------------------------------------------===// // CXCursor Operations. //===----------------------------------------------------------------------===// @@ -4120,8 +4114,6 @@ static SourceLocation getLocationFromExpr(const Expr *E) { return E->getLocStart(); } -extern "C" { - unsigned clang_visitChildren(CXCursor parent, CXCursorVisitor visitor, CXClientData client_data) { @@ -5383,8 +5375,6 @@ CXSourceLocation clang_getCursorLocation(CXCursor C) { return cxloc::translateSourceLocation(getCursorContext(C), Loc); } -} // end extern "C" - CXCursor cxcursor::getCursor(CXTranslationUnit TU, SourceLocation SLoc) { assert(TU); @@ -5554,8 +5544,6 @@ static SourceRange getFullCursorExtent(CXCursor C, SourceManager &SrcMgr) { return getRawCursorExtent(C); } -extern "C" { - CXSourceRange clang_getCursorExtent(CXCursor C) { SourceRange R = getRawCursorExtent(C); if (R.isInvalid()) @@ -6048,8 +6036,6 @@ void clang_executeOnThread(void (*fn)(void*), void *user_data, llvm::llvm_execute_on_thread(fn, user_data, stack_size); } -} // end: extern "C" - //===----------------------------------------------------------------------===// // Token-based Operations. //===----------------------------------------------------------------------===// @@ -6062,8 +6048,6 @@ void clang_executeOnThread(void (*fn)(void*), void *user_data, * ptr_data: for identifiers and keywords, an IdentifierInfo*. * otherwise unused. */ -extern "C" { - CXTokenKind clang_getTokenKind(CXToken CXTok) { return static_cast<CXTokenKind>(CXTok.int_data[0]); } @@ -6252,8 +6236,6 @@ void clang_disposeTokens(CXTranslationUnit TU, free(Tokens); } -} // end: extern "C" - //===----------------------------------------------------------------------===// // Token annotation APIs. //===----------------------------------------------------------------------===// @@ -6921,8 +6903,6 @@ static void clang_annotateTokensImpl(CXTranslationUnit TU, ASTUnit *CXXUnit, } } -extern "C" { - void clang_annotateTokens(CXTranslationUnit TU, CXToken *Tokens, unsigned NumTokens, CXCursor *Cursors) { @@ -6962,13 +6942,10 @@ void clang_annotateTokens(CXTranslationUnit TU, } } -} // end: extern "C" - //===----------------------------------------------------------------------===// // Operations for querying linkage of a cursor. //===----------------------------------------------------------------------===// -extern "C" { CXLinkageKind clang_getCursorLinkage(CXCursor cursor) { if (!clang_isDeclaration(cursor.kind)) return CXLinkage_Invalid; @@ -6985,13 +6962,11 @@ CXLinkageKind clang_getCursorLinkage(CXCursor cursor) { return CXLinkage_Invalid; } -} // 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; @@ -7006,7 +6981,6 @@ CXVisibilityKind clang_getCursorVisibility(CXCursor cursor) { return CXVisibility_Invalid; } -} // end: extern "C" //===----------------------------------------------------------------------===// // Operations for querying language of a cursor. @@ -7062,8 +7036,6 @@ static CXLanguageKind getDeclLanguage(const Decl *D) { return CXLanguage_C; } -extern "C" { - static CXAvailabilityKind getCursorAvailabilityForDecl(const Decl *D) { if (isa<FunctionDecl>(D) && cast<FunctionDecl>(D)->isDeleted()) return CXAvailability_NotAvailable; @@ -7533,14 +7505,10 @@ CXFile clang_Module_getTopLevelHeader(CXTranslationUnit TU, return nullptr; } -} // end: extern "C" - //===----------------------------------------------------------------------===// // C++ AST instrospection. //===----------------------------------------------------------------------===// -extern "C" { - unsigned clang_CXXConstructor_isDefaultConstructor(CXCursor C) { if (!clang_isDeclaration(C.kind)) return 0; @@ -7641,13 +7609,11 @@ unsigned clang_CXXMethod_isVirtual(CXCursor C) { D ? dyn_cast_or_null<CXXMethodDecl>(D->getAsFunction()) : nullptr; return (Method && Method->isVirtual()) ? 1 : 0; } -} // end: extern "C" //===----------------------------------------------------------------------===// // Attribute introspection. //===----------------------------------------------------------------------===// -extern "C" { CXType clang_getIBOutletCollectionType(CXCursor C) { if (C.kind != CXCursor_IBOutletCollectionAttr) return cxtype::MakeCXType(QualType(), cxcursor::getCursorTU(C)); @@ -7657,7 +7623,6 @@ CXType clang_getIBOutletCollectionType(CXCursor C) { return cxtype::MakeCXType(A->getInterface(), cxcursor::getCursorTU(C)); } -} // end: extern "C" //===----------------------------------------------------------------------===// // Inspecting memory usage. @@ -7672,8 +7637,6 @@ static inline void createCXTUResourceUsageEntry(MemUsageEntries &entries, entries.push_back(entry); } -extern "C" { - const char *clang_getTUResourceUsageName(CXTUResourceUsageKind kind) { const char *str = ""; switch (kind) { @@ -7894,8 +7857,6 @@ void clang_disposeSourceRangeList(CXSourceRangeList *ranges) { } } -} // end extern "C" - void clang::PrintLibclangResourceUsage(CXTranslationUnit TU) { CXTUResourceUsage Usage = clang_getCXTUResourceUsage(TU); for (unsigned I = 0; I != Usage.numEntries; ++I) @@ -8058,14 +8019,10 @@ cxindex::checkForMacroInMacroDefinition(const MacroInfo *MI, SourceLocation Loc, return checkForMacroInMacroDefinition(MI, Tok, TU); } -extern "C" { - CXString clang_getClangVersion() { return cxstring::createDup(getClangFullVersion()); } -} // end: extern "C" - Logger &cxindex::Logger::operator<<(CXTranslationUnit TU) { if (TU) { if (ASTUnit *Unit = cxtu::getASTUnit(TU)) { diff --git a/tools/libclang/CIndexCXX.cpp b/tools/libclang/CIndexCXX.cpp index 78e89d94d3c166b151ab9bdb29ac14f1572e329f..028b64a2b2d94b82a78a96b1183c50656d22dcf5 100644 --- a/tools/libclang/CIndexCXX.cpp +++ b/tools/libclang/CIndexCXX.cpp @@ -20,8 +20,6 @@ using namespace clang; using namespace clang::cxcursor; -extern "C" { - unsigned clang_isVirtualBase(CXCursor C) { if (C.kind != CXCursor_CXXBaseSpecifier) return 0; @@ -123,5 +121,3 @@ CXCursor clang_getSpecializedCursorTemplate(CXCursor C) { return MakeCXCursor(Template, getCursorTU(C)); } - -} // end extern "C" diff --git a/tools/libclang/CIndexCodeCompletion.cpp b/tools/libclang/CIndexCodeCompletion.cpp index 344ed27021a16ca82333da9707a2159385b71b5e..12895c4a9b7a97c47a6c0154146d6825d01bee61 100644 --- a/tools/libclang/CIndexCodeCompletion.cpp +++ b/tools/libclang/CIndexCodeCompletion.cpp @@ -53,8 +53,6 @@ using namespace clang; using namespace clang::cxindex; -extern "C" { - enum CXCompletionChunkKind clang_getCompletionChunkKind(CXCompletionString completion_string, unsigned chunk_number) { @@ -346,8 +344,6 @@ AllocatedCXCodeCompleteResults::~AllocatedCXCodeCompleteResults() { fprintf(stderr, "--- %u completion results\n", --CodeCompletionResultObjects); } - -} // end extern "C" static unsigned long long getContextsForContextKind( enum CodeCompletionContext::Kind kind, @@ -794,7 +790,6 @@ clang_codeCompleteAt_Impl(CXTranslationUnit TU, const char *complete_filename, return Results; } -extern "C" { CXCodeCompleteResults *clang_codeCompleteAt(CXTranslationUnit TU, const char *complete_filename, unsigned complete_line, @@ -916,8 +911,6 @@ CXString clang_codeCompleteGetObjCSelector(CXCodeCompleteResults *ResultsIn) { return cxstring::createDup(Results->Selector); } -} // end extern "C" - /// \brief Simple utility function that appends a \p New string to the given /// \p Old string, using the \p Buffer for storage. /// @@ -990,9 +983,7 @@ namespace { }; } -extern "C" { - void clang_sortCodeCompletionResults(CXCompletionResult *Results, - unsigned NumResults) { - std::stable_sort(Results, Results + NumResults, OrderCompletionResults()); - } +void clang_sortCodeCompletionResults(CXCompletionResult *Results, + unsigned NumResults) { + std::stable_sort(Results, Results + NumResults, OrderCompletionResults()); } diff --git a/tools/libclang/CIndexDiagnostic.cpp b/tools/libclang/CIndexDiagnostic.cpp index 18031e53bf9978e4902c4f68b645fd46d0e044a8..de223d3043a31de0e1534bb9c47a2ab5811000a2 100644 --- a/tools/libclang/CIndexDiagnostic.cpp +++ b/tools/libclang/CIndexDiagnostic.cpp @@ -205,8 +205,6 @@ CXDiagnosticSetImpl *cxdiag::lazyCreateDiags(CXTranslationUnit TU, //----------------------------------------------------------------------------- // C Interface Routines //----------------------------------------------------------------------------- -extern "C" { - unsigned clang_getNumDiagnostics(CXTranslationUnit Unit) { if (cxtu::isNotUsableTU(Unit)) { LOG_BAD_TU(Unit); @@ -477,5 +475,3 @@ unsigned clang_getNumDiagnosticsInSet(CXDiagnosticSet Diags) { return D->getNumDiagnostics(); return 0; } - -} // end extern "C" diff --git a/tools/libclang/CIndexHigh.cpp b/tools/libclang/CIndexHigh.cpp index bec0e824ddc0b5b870d5281a14e24e1794a7cfdd..b659348a90cd18ea3599a481e038b22e083ad234 100644 --- a/tools/libclang/CIndexHigh.cpp +++ b/tools/libclang/CIndexHigh.cpp @@ -407,8 +407,6 @@ static bool findIncludesInFile(CXTranslationUnit TU, const FileEntry *File, // libclang public APIs. //===----------------------------------------------------------------------===// -extern "C" { - CXResult clang_findReferencesInFile(CXCursor cursor, CXFile file, CXCursorAndRangeVisitor visitor) { LogRef Log = Logger::make(__func__); @@ -534,5 +532,3 @@ CXResult clang_findIncludesInFileWithBlock(CXTranslationUnit TU, return clang_findIncludesInFile(TU, file, visitor); } -} // end: extern "C" - diff --git a/tools/libclang/CIndexInclusionStack.cpp b/tools/libclang/CIndexInclusionStack.cpp index 5ebb5ec277c8824dfd6cc57a5625543bdc8fa91c..4b021fc4cbebae2bed43a701f5e4911a6e55b16f 100644 --- a/tools/libclang/CIndexInclusionStack.cpp +++ b/tools/libclang/CIndexInclusionStack.cpp @@ -68,7 +68,6 @@ static void getInclusions(const SrcMgr::SLocEntry &(SourceManager::*Getter)(unsi } -extern "C" { void clang_getInclusions(CXTranslationUnit TU, CXInclusionVisitor CB, CXClientData clientData) { if (cxtu::isNotUsableTU(TU)) { @@ -96,4 +95,3 @@ void clang_getInclusions(CXTranslationUnit TU, CXInclusionVisitor CB, getInclusions(&SourceManager::getLocalSLocEntry, n, TU, CB, clientData); } -} // end extern C diff --git a/tools/libclang/CIndexUSRs.cpp b/tools/libclang/CIndexUSRs.cpp index 69d60c9d44f2a45aaf51d1ec341080901066274e..7cd7b6f1cd9e0689ef233c643fd1ac28c3c70338 100644 --- a/tools/libclang/CIndexUSRs.cpp +++ b/tools/libclang/CIndexUSRs.cpp @@ -36,8 +36,6 @@ bool cxcursor::getDeclCursorUSR(const Decl *D, SmallVectorImpl<char> &Buf) { return generateUSRForDecl(D, Buf); } -extern "C" { - CXString clang_getCursorUSR(CXCursor C) { const CXCursorKind &K = clang_getCursorKind(C); @@ -140,5 +138,3 @@ CXString clang_constructUSR_ObjCProperty(const char *property, generateUSRForObjCProperty(property, /*isClassProp=*/false, OS); return cxstring::createDup(OS.str()); } - -} // end extern "C" diff --git a/tools/libclang/CXComment.cpp b/tools/libclang/CXComment.cpp index c02eea9d45c67ea4295ac0beb90b9c5b1a963dc3..028fdf1d3a8b2d34831d1cf09a535e5377ab1b1f 100644 --- a/tools/libclang/CXComment.cpp +++ b/tools/libclang/CXComment.cpp @@ -26,8 +26,6 @@ using namespace clang; using namespace clang::comments; using namespace clang::cxcomment; -extern "C" { - CXComment clang_Cursor_getParsedComment(CXCursor C) { using namespace clang::cxcursor; @@ -406,5 +404,3 @@ CXString clang_FullComment_getAsXML(CXComment CXC) { return cxstring::createDup(XML.str()); } -} // end extern "C" - diff --git a/tools/libclang/CXCompilationDatabase.cpp b/tools/libclang/CXCompilationDatabase.cpp index 82498bf54c749184e6fb8da420d68a05e0840d3c..c122ec8a6db4e99fa55eb8ad1768b955f75b64e9 100644 --- a/tools/libclang/CXCompilationDatabase.cpp +++ b/tools/libclang/CXCompilationDatabase.cpp @@ -6,8 +6,6 @@ using namespace clang; using namespace clang::tooling; -extern "C" { - // FIXME: do something more useful with the error message CXCompilationDatabase clang_CompilationDatabase_fromDirectory(const char *BuildDir, @@ -180,5 +178,3 @@ clang_CompileCommand_getMappedSourceContent(CXCompileCommand CCmd, unsigned I) return cxstring::createRef(Cmd->MappedSources[I].second.c_str()); } - -} // end: extern "C" diff --git a/tools/libclang/CXCursor.cpp b/tools/libclang/CXCursor.cpp index 7f0a297fdad6bd782841f60ad9fa4632e61713c9..06b0aa95a07743388cde99cc29ccb513a280c0ac 100644 --- a/tools/libclang/CXCursor.cpp +++ b/tools/libclang/CXCursor.cpp @@ -1104,8 +1104,6 @@ bool cxcursor::isFirstInDeclGroup(CXCursor C) { // libclang CXCursor APIs //===----------------------------------------------------------------------===// -extern "C" { - int clang_Cursor_isNull(CXCursor cursor) { return clang_equalCursors(cursor, clang_getNullCursor()); } @@ -1295,8 +1293,6 @@ unsigned long long clang_Cursor_getTemplateArgumentUnsignedValue(CXCursor C, return TA.getAsIntegral().getZExtValue(); } -} // end: extern "C" - //===----------------------------------------------------------------------===// // CXCursorSet. //===----------------------------------------------------------------------===// @@ -1330,7 +1326,6 @@ public: }; } -extern "C" { CXCursorSet clang_createCXCursorSet() { return packCXCursorSet(new CXCursorSet_Impl()); } @@ -1393,7 +1388,6 @@ CXCompletionString clang_getCursorCompletionString(CXCursor cursor) { } return nullptr; } -} // end: extern C. namespace { struct OverridenCursorsPool { @@ -1418,7 +1412,6 @@ void cxcursor::disposeOverridenCXCursorsPool(void *pool) { delete static_cast<OverridenCursorsPool*>(pool); } -extern "C" { void clang_getOverriddenCursors(CXCursor cursor, CXCursor **overridden, unsigned *num_overridden) { @@ -1540,5 +1533,3 @@ CXType clang_Cursor_getReceiverType(CXCursor C) { return cxtype::MakeCXType(QualType(), TU); } - -} // end: extern "C" diff --git a/tools/libclang/CXLoadedDiagnostic.cpp b/tools/libclang/CXLoadedDiagnostic.cpp index c866717cc48f1b4eccd03c414078f84a3eaafb69..36c3dcabb924caaef9ff760028d736fa1ebe4d01 100644 --- a/tools/libclang/CXLoadedDiagnostic.cpp +++ b/tools/libclang/CXLoadedDiagnostic.cpp @@ -387,11 +387,9 @@ std::error_code DiagLoader::visitDiagnosticRecord( return std::error_code(); } -extern "C" { CXDiagnosticSet clang_loadDiagnostics(const char *file, enum CXLoadDiag_Error *error, CXString *errorString) { DiagLoader L(error, errorString); return L.load(file); } -} // end extern 'C'. diff --git a/tools/libclang/CXSourceLocation.cpp b/tools/libclang/CXSourceLocation.cpp index 68ecf388bd79c1f542c61b710e57ee727a90e3fa..2e0ea4e440999ecb6955367653d18a70089246e5 100644 --- a/tools/libclang/CXSourceLocation.cpp +++ b/tools/libclang/CXSourceLocation.cpp @@ -38,8 +38,6 @@ static bool isASTUnitSourceLocation(const CXSourceLocation &L) { // Basic construction and comparison of CXSourceLocations and CXSourceRanges. //===----------------------------------------------------------------------===// -extern "C" { - CXSourceLocation clang_getNullLocation() { CXSourceLocation Result = { { nullptr, nullptr }, 0 }; return Result; @@ -110,14 +108,10 @@ CXSourceLocation clang_getRangeEnd(CXSourceRange range) { return Result; } -} // end extern "C" - //===----------------------------------------------------------------------===// // Getting CXSourceLocations and CXSourceRanges from a translation unit. //===----------------------------------------------------------------------===// -extern "C" { - CXSourceLocation clang_getLocation(CXTranslationUnit TU, CXFile file, unsigned line, @@ -174,8 +168,6 @@ CXSourceLocation clang_getLocationForOffset(CXTranslationUnit TU, return cxloc::translateSourceLocation(CXXUnit->getASTContext(), SLoc); } -} // end extern "C" - //===----------------------------------------------------------------------===// // Routines for expanding and manipulating CXSourceLocations, regardless // of their origin. @@ -205,8 +197,6 @@ static void createNullLocation(CXString *filename, unsigned *line, *offset = 0; } -extern "C" { - int clang_Location_isInSystemHeader(CXSourceLocation location) { const SourceLocation Loc = SourceLocation::getFromRawEncoding(location.int_data); @@ -382,5 +372,3 @@ void clang_getFileLocation(CXSourceLocation location, if (offset) *offset = FileOffset; } - -} // end extern "C" diff --git a/tools/libclang/CXString.cpp b/tools/libclang/CXString.cpp index 2148181ef84cc20321e38b94cb6618f8776e9da8..44860317920321ba1de744a017b91181310d2bab 100644 --- a/tools/libclang/CXString.cpp +++ b/tools/libclang/CXString.cpp @@ -161,7 +161,6 @@ bool isManagedByPool(CXString str) { // libClang public APIs. //===----------------------------------------------------------------------===// -extern "C" { const char *clang_getCString(CXString string) { if (string.private_flags == (unsigned) CXS_StringBuf) { return static_cast<const cxstring::CXStringBuf *>(string.data)->Data.data(); @@ -191,5 +190,3 @@ void clang_disposeStringSet(CXStringSet *set) { delete set; } -} // end: extern "C" - diff --git a/tools/libclang/CXType.cpp b/tools/libclang/CXType.cpp index 475b40fd7064ecb0b6b9c97f53d155ae2af0c83e..66caf340d1956c6712d114f7246345790279af01 100644 --- a/tools/libclang/CXType.cpp +++ b/tools/libclang/CXType.cpp @@ -182,8 +182,6 @@ FindTemplateArgumentTypeAt(ArrayRef<TemplateArgument> TA, unsigned index) { return None; } -extern "C" { - CXType clang_getCursorType(CXCursor C) { using namespace cxcursor; @@ -1038,5 +1036,3 @@ CXType clang_Type_getNamedType(CXType CT){ return MakeCXType(QualType(), GetTU(CT)); } - -} // end: extern "C" diff --git a/tools/libclang/Indexing.cpp b/tools/libclang/Indexing.cpp index 878d75e0211cc46dbd9ebfd58a51765a95bb723b..c18b5402aa715efed01551fce837416684395b92 100644 --- a/tools/libclang/Indexing.cpp +++ b/tools/libclang/Indexing.cpp @@ -687,8 +687,6 @@ static CXErrorCode clang_indexTranslationUnit_Impl( // libclang public APIs. //===----------------------------------------------------------------------===// -extern "C" { - int clang_index_isEntityObjCContainerKind(CXIdxEntityKind K) { return CXIdxEntity_ObjCClass <= K && K <= CXIdxEntity_ObjCCategory; } @@ -978,5 +976,3 @@ CXSourceLocation clang_indexLoc_getCXSourceLocation(CXIdxLoc location) { return cxloc::translateSourceLocation(DataConsumer.getASTContext(), Loc); } -} // end: extern "C" -