summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Svoboda <jan_svoboda@apple.com>2022-01-11 17:17:07 +0100
committerJan Svoboda <jan_svoboda@apple.com>2022-01-11 17:57:40 +0100
commitf77d115cc136585f39d30a78c741eb296f9e804d (patch)
tree40a2923dec7d321cbf505e81583e24cefb8a7916
parent134e9d1914db341f72b1caca0e342b6c563c8698 (diff)
downloadllvm-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.h15
-rw-r--r--clang/include/clang/Lex/HeaderSearch.h12
-rw-r--r--clang/lib/Frontend/CMakeLists.txt1
-rw-r--r--clang/lib/Lex/CMakeLists.txt1
-rw-r--r--clang/lib/Lex/InitHeaderSearch.cpp (renamed from clang/lib/Frontend/InitHeaderSearch.cpp)3
-rw-r--r--clang/unittests/Lex/CMakeLists.txt1
-rw-r--r--clang/unittests/Lex/HeaderSearchTest.cpp2
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"