diff options
author | Peter Collingbourne <peter@pcc.me.uk> | 2010-08-24 00:31:22 +0000 |
---|---|---|
committer | Peter Collingbourne <peter@pcc.me.uk> | 2010-08-24 00:31:22 +0000 |
commit | 1b7255de78c99ef2b8a06bb5261a3c776ac1db36 (patch) | |
tree | e7ae76a9670eaf107895ad8dc9eac0f1320d33e4 | |
parent | aaa107acc8f906203101af259e8d764b5027700a (diff) |
Move ExecuteCompilerInvocation to a new library FrontendTool
r110903 introduced a dependency from Frontend to every library that
declared an Action by introducing Action references that previously
resided in the driver in the file ExecuteCompilerInvocation.cpp.
This patch moves ExecuteCompilerInvocation to a new library named
FrontendTool which is intended to bear these dependencies.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@111873 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/Frontend/Utils.h | 7 | ||||
-rw-r--r-- | include/clang/FrontendTool/Utils.h | 30 | ||||
-rw-r--r-- | lib/CMakeLists.txt | 1 | ||||
-rw-r--r-- | lib/Frontend/CMakeLists.txt | 1 | ||||
-rw-r--r-- | lib/FrontendTool/CMakeLists.txt | 5 | ||||
-rw-r--r-- | lib/FrontendTool/ExecuteCompilerInvocation.cpp (renamed from lib/Frontend/ExecuteCompilerInvocation.cpp) | 2 | ||||
-rw-r--r-- | lib/FrontendTool/Makefile | 13 | ||||
-rwxr-xr-x | lib/Makefile | 2 | ||||
-rw-r--r-- | tools/driver/CMakeLists.txt | 1 | ||||
-rw-r--r-- | tools/driver/Makefile | 7 | ||||
-rw-r--r-- | tools/driver/cc1_main.cpp | 2 |
11 files changed, 57 insertions, 14 deletions
diff --git a/include/clang/Frontend/Utils.h b/include/clang/Frontend/Utils.h index cd6ffb0f71..fe722db381 100644 --- a/include/clang/Frontend/Utils.h +++ b/include/clang/Frontend/Utils.h @@ -77,13 +77,6 @@ void AttachDependencyFileGen(Preprocessor &PP, /// a seekable stream. void CacheTokens(Preprocessor &PP, llvm::raw_fd_ostream* OS); - -/// ExecuteCompilerInvocation - Execute the given actions described by the -/// compiler invocation object in the given compiler instance. -/// -/// \return - True on success. -bool ExecuteCompilerInvocation(CompilerInstance *Clang); - } // end namespace clang #endif diff --git a/include/clang/FrontendTool/Utils.h b/include/clang/FrontendTool/Utils.h new file mode 100644 index 0000000000..031ee7df70 --- /dev/null +++ b/include/clang/FrontendTool/Utils.h @@ -0,0 +1,30 @@ +//===--- Utils.h - Misc utilities for the front-end -------------*- C++ -*-===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This header contains miscellaneous utilities for various front-end actions +// which were split from Frontend to minimise Frontend's dependencies. +// +//===----------------------------------------------------------------------===// + +#ifndef LLVM_CLANG_FRONTENDTOOL_UTILS_H +#define LLVM_CLANG_FRONTENDTOOL_UTILS_H + +namespace clang { + +class CompilerInstance; + +/// ExecuteCompilerInvocation - Execute the given actions described by the +/// compiler invocation object in the given compiler instance. +/// +/// \return - True on success. +bool ExecuteCompilerInvocation(CompilerInstance *Clang); + +} // end namespace clang + +#endif diff --git a/lib/CMakeLists.txt b/lib/CMakeLists.txt index 8ecfcbea29..bd5e342e02 100644 --- a/lib/CMakeLists.txt +++ b/lib/CMakeLists.txt @@ -10,5 +10,6 @@ add_subdirectory(Rewrite) add_subdirectory(Driver) add_subdirectory(Serialization) add_subdirectory(Frontend) +add_subdirectory(FrontendTool) add_subdirectory(Index) add_subdirectory(Checker) diff --git a/lib/Frontend/CMakeLists.txt b/lib/Frontend/CMakeLists.txt index e5463893c7..5a31495397 100644 --- a/lib/Frontend/CMakeLists.txt +++ b/lib/Frontend/CMakeLists.txt @@ -12,7 +12,6 @@ add_clang_library(clangFrontend DependencyFile.cpp DiagChecker.cpp DocumentXML.cpp - ExecuteCompilerInvocation.cpp FrontendAction.cpp FrontendActions.cpp FrontendOptions.cpp diff --git a/lib/FrontendTool/CMakeLists.txt b/lib/FrontendTool/CMakeLists.txt new file mode 100644 index 0000000000..26c9fc7b51 --- /dev/null +++ b/lib/FrontendTool/CMakeLists.txt @@ -0,0 +1,5 @@ +set(LLVM_NO_RTTI 1) + +add_clang_library(clangFrontendTool + ExecuteCompilerInvocation.cpp + ) diff --git a/lib/Frontend/ExecuteCompilerInvocation.cpp b/lib/FrontendTool/ExecuteCompilerInvocation.cpp index b432e8f6b6..63c6287807 100644 --- a/lib/Frontend/ExecuteCompilerInvocation.cpp +++ b/lib/FrontendTool/ExecuteCompilerInvocation.cpp @@ -12,7 +12,7 @@ // //===----------------------------------------------------------------------===// -#include "clang/Frontend/Utils.h" +#include "clang/FrontendTool/Utils.h" #include "clang/Checker/FrontendActions.h" #include "clang/CodeGen/CodeGenAction.h" #include "clang/Driver/CC1Options.h" diff --git a/lib/FrontendTool/Makefile b/lib/FrontendTool/Makefile new file mode 100644 index 0000000000..c43213ff99 --- /dev/null +++ b/lib/FrontendTool/Makefile @@ -0,0 +1,13 @@ +##===- clang/lib/FrontendTool/Makefile ---------------------*- Makefile -*-===## +# +# The LLVM Compiler Infrastructure +# +# This file is distributed under the University of Illinois Open Source +# License. See LICENSE.TXT for details. +# +##===----------------------------------------------------------------------===## + +CLANG_LEVEL := ../.. +LIBRARYNAME := clangFrontendTool + +include $(CLANG_LEVEL)/Makefile diff --git a/lib/Makefile b/lib/Makefile index 843b5740bb..dbd0eb699e 100755 --- a/lib/Makefile +++ b/lib/Makefile @@ -9,7 +9,7 @@ CLANG_LEVEL := .. PARALLEL_DIRS = Headers Basic Lex Parse AST Sema CodeGen Analysis \ - Checker Rewrite Serialization Frontend Index Driver + Checker Rewrite Serialization Frontend FrontendTool Index Driver include $(CLANG_LEVEL)/Makefile diff --git a/tools/driver/CMakeLists.txt b/tools/driver/CMakeLists.txt index 5ca6fa1993..ec6e9c6e80 100644 --- a/tools/driver/CMakeLists.txt +++ b/tools/driver/CMakeLists.txt @@ -1,6 +1,7 @@ set(LLVM_NO_RTTI 1) set( LLVM_USED_LIBS + clangFrontendTool clangFrontend clangDriver clangSerialization diff --git a/tools/driver/Makefile b/tools/driver/Makefile index 0fc0d6597c..447f0e4eb0 100644 --- a/tools/driver/Makefile +++ b/tools/driver/Makefile @@ -27,9 +27,10 @@ include $(CLANG_LEVEL)/../../Makefile.config LINK_COMPONENTS := $(TARGETS_TO_BUILD) asmparser bitreader bitwriter codegen \ ipo selectiondag -USEDLIBS = clangFrontend.a clangDriver.a clangSerialization.a clangCodeGen.a \ - clangParse.a clangSema.a clangChecker.a clangAnalysis.a \ - clangIndex.a clangRewrite.a clangAST.a clangLex.a clangBasic.a +USEDLIBS = clangFrontendTool.a clangFrontend.a clangDriver.a \ + clangSerialization.a clangCodeGen.a clangParse.a clangSema.a \ + clangChecker.a clangAnalysis.a clangIndex.a clangRewrite.a \ + clangAST.a clangLex.a clangBasic.a include $(CLANG_LEVEL)/Makefile diff --git a/tools/driver/cc1_main.cpp b/tools/driver/cc1_main.cpp index 2cab8da24b..de5e8bf043 100644 --- a/tools/driver/cc1_main.cpp +++ b/tools/driver/cc1_main.cpp @@ -23,7 +23,7 @@ #include "clang/Frontend/FrontendDiagnostic.h" #include "clang/Frontend/TextDiagnosticBuffer.h" #include "clang/Frontend/TextDiagnosticPrinter.h" -#include "clang/Frontend/Utils.h" +#include "clang/FrontendTool/Utils.h" #include "llvm/LLVMContext.h" #include "llvm/ADT/Statistic.h" #include "llvm/Support/ErrorHandling.h" |