diff options
| author | Romain Perier <romain.perier@gmail.com> | 2025-07-11 18:28:45 +0200 |
|---|---|---|
| committer | Romain Perier <romain.perier@gmail.com> | 2025-08-07 20:30:18 +0200 |
| commit | d37fae309d66ea337269eeb46a990f0675ad1684 (patch) | |
| tree | 73577e37b48ae5bf789dd8dfeb3e9ebfba90435a /compiler/rustc_llvm/build.rs | |
| parent | 919c40924373c248315a76618d8c52d39aed5e6e (diff) | |
| download | rust-d37fae309d66ea337269eeb46a990f0675ad1684.tar.gz rust-d37fae309d66ea337269eeb46a990f0675ad1684.zip | |
Pass -Werror when building the LLVM wrapper
Enabling warning_into_errors() only whether it's in rust-lang/rust CI, so deprecated uses of LLVM methods can be treated as errors.
Diffstat (limited to 'compiler/rustc_llvm/build.rs')
| -rw-r--r-- | compiler/rustc_llvm/build.rs | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs index 069b684ad09..6c740156c4d 100644 --- a/compiler/rustc_llvm/build.rs +++ b/compiler/rustc_llvm/build.rs @@ -171,6 +171,16 @@ fn main() { let cxxflags = output(&mut cmd); let mut cfg = cc::Build::new(); cfg.warnings(false); + + // Prevent critical warnings when we're compiling from rust-lang/rust CI, + // except on MSVC, as the compiler throws warnings that are only reported + // for this platform. See https://github.com/rust-lang/rust/pull/145031#issuecomment-3162677202 + // FIXME(llvm22): It looks like the specific problem code has been removed + // in https://github.com/llvm/llvm-project/commit/e8fc808bf8e78a3c80d1f8e293a92677b92366dd, + // retry msvc once we bump our LLVM version. + if std::env::var_os("CI").is_some() && !target.contains("msvc") { + cfg.warnings_into_errors(true); + } for flag in cxxflags.split_whitespace() { // Ignore flags like `-m64` when we're doing a cross build if is_crossed && flag.starts_with("-m") { |
