This removes the #[no_sanitize] attribute, which was behind an unstable feature named no_sanitize. Instead, we introduce the sanitize attribute which is more powerful and allows to be extended in the future (instead of just focusing on turning sanitizers off). This also makes sanitize(kernel_address = ..) attribute work with -Zsanitize=address To do it the same as how clang disables address sanitizer, we now disable ASAN on sanitize(kernel_address = "off") and KASAN on sanitize(address = "off"). The same was added to clang in https://reviews.llvm.org/D44981.
16 lines
247 B
Rust
16 lines
247 B
Rust
//@ check-pass
|
|
|
|
#![feature(sanitize)]
|
|
|
|
#[inline(always)]
|
|
//~^ NOTE inlining requested here
|
|
#[sanitize(address = "off")]
|
|
//~^ WARN setting `sanitize` off will have no effect after inlining
|
|
//~| NOTE on by default
|
|
fn x() {
|
|
}
|
|
|
|
fn main() {
|
|
x()
|
|
}
|