diff options
author | Jan Svoboda <jan_svoboda@apple.com> | 2022-01-11 17:17:07 +0100 |
---|---|---|
committer | Jan Svoboda <jan_svoboda@apple.com> | 2022-01-11 17:57:40 +0100 |
commit | f77d115cc136585f39d30a78c741eb296f9e804d (patch) | |
tree | 40a2923dec7d321cbf505e81583e24cefb8a7916 | |
parent | 134e9d1914db341f72b1caca0e342b6c563c8698 (diff) | |
download | llvm-f77d115cc136585f39d30a78c741eb296f9e804d.tar.gz |
[clang] Move `ApplyHeaderSearchOptions` from Frontend to Lex
In D116750, the `clangFrontend` library was added as a dependency of `LexTests` in order to make `clang::ApplyHeaderSearchOptions()` available. This increased the number of TUs the test depends on.
This patch moves the function into `clangLex` and removes dependency of `LexTests` on `clangFrontend`.
Reviewed By: thakis
Differential Revision: https://reviews.llvm.org/D117024
-rw-r--r-- | clang/include/clang/Frontend/Utils.h | 15 | ||||
-rw-r--r-- | clang/include/clang/Lex/HeaderSearch.h | 12 | ||||
-rw-r--r-- | clang/lib/Frontend/CMakeLists.txt | 1 | ||||
-rw-r--r-- | clang/lib/Lex/CMakeLists.txt | 1 | ||||
-rw-r--r-- | clang/lib/Lex/InitHeaderSearch.cpp (renamed from clang/lib/Frontend/InitHeaderSearch.cpp) | 3 | ||||
-rw-r--r-- | clang/unittests/Lex/CMakeLists.txt | 1 | ||||
-rw-r--r-- | clang/unittests/Lex/HeaderSearchTest.cpp | 2 |
7 files changed, 14 insertions, 21 deletions
diff --git a/clang/include/clang/Frontend/Utils.h b/clang/include/clang/Frontend/Utils.h index da2d79af2eba..a05584bfe551 100644 --- a/clang/include/clang/Frontend/Utils.h +++ b/clang/include/clang/Frontend/Utils.h @@ -32,12 +32,6 @@ #include <utility> #include <vector> -namespace llvm { - -class Triple; - -} // namespace llvm - namespace clang { class ASTReader; @@ -46,20 +40,11 @@ class CompilerInvocation; class DiagnosticsEngine; class ExternalSemaSource; class FrontendOptions; -class HeaderSearch; -class HeaderSearchOptions; -class LangOptions; class PCHContainerReader; class Preprocessor; class PreprocessorOptions; class PreprocessorOutputOptions; -/// Apply the header search options to get given HeaderSearch object. -void ApplyHeaderSearchOptions(HeaderSearch &HS, - const HeaderSearchOptions &HSOpts, - const LangOptions &Lang, - const llvm::Triple &triple); - /// InitializePreprocessor - Initialize the preprocessor getting it and the /// environment ready to process a single file. void InitializePreprocessor(Preprocessor &PP, const PreprocessorOptions &PPOpts, diff --git a/clang/include/clang/Lex/HeaderSearch.h b/clang/include/clang/Lex/HeaderSearch.h index 5507401f608a..0b7ada8f9449 100644 --- a/clang/include/clang/Lex/HeaderSearch.h +++ b/clang/include/clang/Lex/HeaderSearch.h @@ -34,6 +34,12 @@ #include <utility> #include <vector> +namespace llvm { + +class Triple; + +} // namespace llvm + namespace clang { class DiagnosticsEngine; @@ -853,6 +859,12 @@ private: bool IsSystem, bool IsFramework); }; +/// Apply the header search options to get given HeaderSearch object. +void ApplyHeaderSearchOptions(HeaderSearch &HS, + const HeaderSearchOptions &HSOpts, + const LangOptions &Lang, + const llvm::Triple &triple); + } // namespace clang #endif // LLVM_CLANG_LEX_HEADERSEARCH_H diff --git a/clang/lib/Frontend/CMakeLists.txt b/clang/lib/Frontend/CMakeLists.txt index 90422855bd05..ca4ad8b2dab2 100644 --- a/clang/lib/Frontend/CMakeLists.txt +++ b/clang/lib/Frontend/CMakeLists.txt @@ -24,7 +24,6 @@ add_clang_library(clangFrontend FrontendActions.cpp FrontendOptions.cpp HeaderIncludeGen.cpp - InitHeaderSearch.cpp InitPreprocessor.cpp LayoutOverrideSource.cpp LogDiagnosticPrinter.cpp diff --git a/clang/lib/Lex/CMakeLists.txt b/clang/lib/Lex/CMakeLists.txt index d77e6ddb66a0..44f0149628c8 100644 --- a/clang/lib/Lex/CMakeLists.txt +++ b/clang/lib/Lex/CMakeLists.txt @@ -6,6 +6,7 @@ add_clang_library(clangLex DependencyDirectivesSourceMinimizer.cpp HeaderMap.cpp HeaderSearch.cpp + InitHeaderSearch.cpp Lexer.cpp LiteralSupport.cpp MacroArgs.cpp diff --git a/clang/lib/Frontend/InitHeaderSearch.cpp b/clang/lib/Lex/InitHeaderSearch.cpp index 94ea7baa99c5..ec7b1505c7bf 100644 --- a/clang/lib/Frontend/InitHeaderSearch.cpp +++ b/clang/lib/Lex/InitHeaderSearch.cpp @@ -10,11 +10,10 @@ // //===----------------------------------------------------------------------===// +#include "clang/Basic/DiagnosticFrontend.h" #include "clang/Basic/FileManager.h" #include "clang/Basic/LangOptions.h" #include "clang/Config/config.h" // C_INCLUDE_DIRS -#include "clang/Frontend/FrontendDiagnostic.h" -#include "clang/Frontend/Utils.h" #include "clang/Lex/HeaderMap.h" #include "clang/Lex/HeaderSearch.h" #include "clang/Lex/HeaderSearchOptions.h" diff --git a/clang/unittests/Lex/CMakeLists.txt b/clang/unittests/Lex/CMakeLists.txt index 3b3e3709ab06..97a4e5e44608 100644 --- a/clang/unittests/Lex/CMakeLists.txt +++ b/clang/unittests/Lex/CMakeLists.txt @@ -15,7 +15,6 @@ clang_target_link_libraries(LexTests PRIVATE clangAST clangBasic - clangFrontend clangLex clangParse clangSema diff --git a/clang/unittests/Lex/HeaderSearchTest.cpp b/clang/unittests/Lex/HeaderSearchTest.cpp index b283ff45f2c9..3ea1e6339f50 100644 --- a/clang/unittests/Lex/HeaderSearchTest.cpp +++ b/clang/unittests/Lex/HeaderSearchTest.cpp @@ -15,8 +15,6 @@ #include "clang/Basic/SourceManager.h" #include "clang/Basic/TargetInfo.h" #include "clang/Basic/TargetOptions.h" -#include "clang/Frontend/Utils.h" -#include "clang/Lex/HeaderSearch.h" #include "clang/Lex/HeaderSearchOptions.h" #include "clang/Serialization/InMemoryModuleCache.h" #include "llvm/Support/MemoryBuffer.h" |