diff --git a/build.rs b/build.rs index efc95b66..d9d23ca2 100644 --- a/build.rs +++ b/build.rs @@ -7,7 +7,6 @@ fn main() { rustc_minor_version().expect("Failed to get rustc version"); let rustc_dep_of_std = env::var("CARGO_FEATURE_RUSTC_DEP_OF_STD").is_ok(); let align_cargo_feature = env::var("CARGO_FEATURE_ALIGN").is_ok(); - #[allow(unused)] let libc_ci = env::var("LIBC_CI").is_ok(); if env::var("CARGO_FEATURE_USE_STD").is_ok() { @@ -28,6 +27,11 @@ fn main() { Some(_) | None => println!("cargo:rustc-cfg=freebsd11"), } + // On CI: deny all warnings + if libc_ci { + println!("cargo:rustc-cfg=libc_deny_warnings"); + } + // Rust >= 1.15 supports private module use: if rustc_minor_ver >= 15 || rustc_dep_of_std { println!("cargo:rustc-cfg=libc_priv_mod_use"); diff --git a/ci/azure.yml b/ci/azure.yml index 4526361a..456ac7f7 100644 --- a/ci/azure.yml +++ b/ci/azure.yml @@ -136,7 +136,7 @@ jobs: - template: azure-install-rust.yml - script: sh ci/style.sh displayName: Check style - - script: sh ci/dox.sh + - script: LIBC_CI=1 sh ci/dox.sh displayName: Generate documentation - template: azure-configs/static-websites.yml@rustinfra parameters: @@ -169,7 +169,7 @@ jobs: vmImage: ubuntu-16.04 steps: - template: azure-install-rust.yml - - script: sh ./ci/build.sh + - script: LIBC_CI=1 sh ./ci/build.sh displayName: Execute build.sh strategy: matrix: @@ -198,7 +198,7 @@ jobs: vmImage: macos-10.13 steps: - template: azure-install-rust.yml - - script: sh ./ci/build.sh + - script: LIBC_CI=1 sh ./ci/build.sh displayName: Execute build.sh strategy: matrix: diff --git a/src/lib.rs b/src/lib.rs index 6c2e6c8b..3c757f75 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -14,8 +14,10 @@ //! [pd]: https://rust-lang.github.io/libc/#platform-specific-documentation #![crate_name = "libc"] #![crate_type = "rlib"] -#![cfg_attr(not(feature = "rustc-dep-of-std"), deny(warnings))] +#![cfg_attr(libc_deny_warnings, deny(warnings))] #![allow(bad_style, overflowing_literals, improper_ctypes, unknown_lints)] +// FIXME: this is due to a rustc bug +#![allow(redundant_semicolon)] // Attributes needed when building as part of the standard library #![cfg_attr( feature = "rustc-dep-of-std",