summaryrefslogtreecommitdiffstats
path: root/clang/tools/libclang
diff options
context:
space:
mode:
authorAdrian Prantl <aprantl@apple.com>2015-07-08 01:00:30 +0000
committerAdrian Prantl <aprantl@apple.com>2015-07-08 01:00:30 +0000
commitbc068586ac2807bfb4030bd9c4789b6a12359a9c (patch)
treefdcff3ac303bc4cbeb4fab1fd5367e96568a0ccd /clang/tools/libclang
parent22302e5995544ceda622c939fb26a5f9f361d012 (diff)
downloadbcm5719-llvm-bc068586ac2807bfb4030bd9c4789b6a12359a9c.tar.gz
bcm5719-llvm-bc068586ac2807bfb4030bd9c4789b6a12359a9c.zip
Revert "Revert r241620 and follow-up commits" and move the initialization
of the llvm targets from clang/CodeGen into ClangCheck.cpp and CIndex.cpp. llvm-svn: 241653
Diffstat (limited to 'clang/tools/libclang')
-rw-r--r--clang/tools/libclang/CIndex.cpp11
-rw-r--r--clang/tools/libclang/CMakeLists.txt5
-rw-r--r--clang/tools/libclang/Makefile8
3 files changed, 20 insertions, 4 deletions
diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp
index df0ed2ad65d..49b9da23865 100644
--- a/clang/tools/libclang/CIndex.cpp
+++ b/clang/tools/libclang/CIndex.cpp
@@ -29,6 +29,7 @@
#include "clang/Basic/DiagnosticIDs.h"
#include "clang/Basic/TargetInfo.h"
#include "clang/Basic/Version.h"
+#include "clang/CodeGen/ObjectFilePCHContainerOperations.h"
#include "clang/Frontend/ASTUnit.h"
#include "clang/Frontend/CompilerInstance.h"
#include "clang/Frontend/FrontendDiagnostic.h"
@@ -53,6 +54,7 @@
#include "llvm/Support/Program.h"
#include "llvm/Support/SaveAndRestore.h"
#include "llvm/Support/Signals.h"
+#include "llvm/Support/TargetSelect.h"
#include "llvm/Support/Threading.h"
#include "llvm/Support/Timer.h"
#include "llvm/Support/raw_ostream.h"
@@ -2876,7 +2878,14 @@ CXIndex clang_createIndex(int excludeDeclarationsFromPCH,
// registered once.
(void)*RegisterFatalErrorHandlerOnce;
- CIndexer *CIdxr = new CIndexer();
+ // Initialize targets for clang module support.
+ llvm::InitializeAllTargets();
+ llvm::InitializeAllTargetMCs();
+ llvm::InitializeAllAsmPrinters();
+ llvm::InitializeAllAsmParsers();
+
+ CIndexer *CIdxr =
+ new CIndexer(std::make_shared<ObjectFilePCHContainerOperations>());
if (excludeDeclarationsFromPCH)
CIdxr->setOnlyLocalDecls();
if (displayDiagnostics)
diff --git a/clang/tools/libclang/CMakeLists.txt b/clang/tools/libclang/CMakeLists.txt
index 26f88a97c57..407a5c4d4e7 100644
--- a/clang/tools/libclang/CMakeLists.txt
+++ b/clang/tools/libclang/CMakeLists.txt
@@ -37,9 +37,14 @@ set(SOURCES
../../include/clang-c/Index.h
)
+set( LLVM_LINK_COMPONENTS
+ ${LLVM_TARGETS_TO_BUILD}
+ )
+
set(LIBS
clangAST
clangBasic
+ clangCodeGen
clangFrontend
clangIndex
clangLex
diff --git a/clang/tools/libclang/Makefile b/clang/tools/libclang/Makefile
index 97f663cde47..84914e0f460 100644
--- a/clang/tools/libclang/Makefile
+++ b/clang/tools/libclang/Makefile
@@ -16,19 +16,21 @@ LINK_LIBS_IN_SHARED = 1
SHARED_LIBRARY = 1
include $(CLANG_LEVEL)/../../Makefile.config
-LINK_COMPONENTS := AsmParser BitReader Core MC MCParser Option Support
+LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter core \
+ instrumentation ipo mc mcparser objcarcopts option support \
+ object
USEDLIBS = clangIndex.a clangARCMigrate.a \
clangRewriteFrontend.a \
clangFormat.a \
clangTooling.a clangToolingCore.a \
- clangFrontend.a clangDriver.a \
+ clangFrontend.a clangCodeGen.a clangDriver.a \
clangSerialization.a \
clangParse.a clangSema.a \
clangStaticAnalyzerCheckers.a clangStaticAnalyzerCore.a \
clangRewrite.a \
clangAnalysis.a clangEdit.a \
clangASTMatchers.a \
- clangAST.a clangLex.a clangBasic.a \
+ clangAST.a clangLex.a clangBasic.a
include $(CLANG_LEVEL)/Makefile
OpenPOWER on IntegriCloud