[clang] dce2245 - [clang][driver] Cleanup UEFI toolchain driver (#111473)
via cfe-commits
cfe-commits at lists.llvm.org
Sat Dec 21 17:44:48 PST 2024
Author: Prabhuk
Date: 2024-12-21T17:44:45-08:00
New Revision: dce2245ba49fad419e551b0143f41431ec8e7f03
URL: https://github.com/llvm/llvm-project/commit/dce2245ba49fad419e551b0143f41431ec8e7f03
DIFF: https://github.com/llvm/llvm-project/commit/dce2245ba49fad419e551b0143f41431ec8e7f03.diff
LOG: [clang][driver] Cleanup UEFI toolchain driver (#111473)
Updating UEFI header includes to not include system include directories,
adding includes from compiler resource directory and minor cleanups.
Added:
Modified:
clang/lib/Basic/Targets/X86.h
clang/lib/Driver/ToolChains/UEFI.cpp
clang/lib/Driver/ToolChains/UEFI.h
clang/lib/Lex/InitHeaderSearch.cpp
Removed:
################################################################################
diff --git a/clang/lib/Basic/Targets/X86.h b/clang/lib/Basic/Targets/X86.h
index 3ed36c8fa724b5..553c452d4ba3c2 100644
--- a/clang/lib/Basic/Targets/X86.h
+++ b/clang/lib/Basic/Targets/X86.h
@@ -832,11 +832,6 @@ class LLVM_LIBRARY_VISIBILITY UEFIX86_64TargetInfo
"i64:64-i128:128-f80:128-n8:16:32:64-S128");
}
- void getTargetDefines(const LangOptions &Opts,
- MacroBuilder &Builder) const override {
- getOSDefines(Opts, X86TargetInfo::getTriple(), Builder);
- }
-
BuiltinVaListKind getBuiltinVaListKind() const override {
return TargetInfo::CharPtrBuiltinVaList;
}
diff --git a/clang/lib/Driver/ToolChains/UEFI.cpp b/clang/lib/Driver/ToolChains/UEFI.cpp
index 66cbbec59246c0..a9d7e7892c5a64 100644
--- a/clang/lib/Driver/ToolChains/UEFI.cpp
+++ b/clang/lib/Driver/ToolChains/UEFI.cpp
@@ -35,6 +35,24 @@ UEFI::UEFI(const Driver &D, const llvm::Triple &Triple, const ArgList &Args)
Tool *UEFI::buildLinker() const { return new tools::uefi::Linker(*this); }
+void UEFI::AddClangSystemIncludeArgs(const ArgList &DriverArgs,
+ ArgStringList &CC1Args) const {
+ if (DriverArgs.hasArg(options::OPT_nostdinc))
+ return;
+
+ if (!DriverArgs.hasArg(options::OPT_nobuiltininc)) {
+ SmallString<128> Dir(getDriver().ResourceDir);
+ llvm::sys::path::append(Dir, "include");
+ addSystemInclude(DriverArgs, CC1Args, Dir.str());
+ }
+
+ if (DriverArgs.hasArg(options::OPT_nostdlibinc))
+ return;
+
+ if (std::optional<std::string> Path = getStdlibIncludePath())
+ addSystemInclude(DriverArgs, CC1Args, *Path);
+}
+
void tools::uefi::Linker::ConstructJob(Compilation &C, const JobAction &JA,
const InputInfo &Output,
const InputInfoList &Inputs,
diff --git a/clang/lib/Driver/ToolChains/UEFI.h b/clang/lib/Driver/ToolChains/UEFI.h
index a126ac32db6c6c..7e038b5cb8b186 100644
--- a/clang/lib/Driver/ToolChains/UEFI.h
+++ b/clang/lib/Driver/ToolChains/UEFI.h
@@ -51,6 +51,10 @@ class LLVM_LIBRARY_VISIBILITY UEFI : public ToolChain {
return false;
}
bool isPICDefaultForced() const override { return true; }
+
+ void
+ AddClangSystemIncludeArgs(const llvm::opt::ArgList &DriverArgs,
+ llvm::opt::ArgStringList &CC1Args) const override;
};
} // namespace toolchains
diff --git a/clang/lib/Lex/InitHeaderSearch.cpp b/clang/lib/Lex/InitHeaderSearch.cpp
index ea02f5dfb62644..67c9d92b849ea3 100644
--- a/clang/lib/Lex/InitHeaderSearch.cpp
+++ b/clang/lib/Lex/InitHeaderSearch.cpp
@@ -301,6 +301,7 @@ bool InitHeaderSearch::ShouldAddDefaultIncludePaths(
case llvm::Triple::PS5:
case llvm::Triple::RTEMS:
case llvm::Triple::Solaris:
+ case llvm::Triple::UEFI:
case llvm::Triple::WASI:
case llvm::Triple::ZOS:
return false;
More information about the cfe-commits
mailing list