2021-01-23 02:32:38 +00:00
|
|
|
// needs-sanitizer-support
|
|
|
|
// needs-sanitizer-hwaddress
|
|
|
|
//
|
2021-10-26 15:40:42 +00:00
|
|
|
// FIXME(#83706): this test triggers errors on aarch64-gnu
|
|
|
|
// ignore-aarch64-unknown-linux-gnu
|
|
|
|
//
|
2021-03-26 18:01:55 +00:00
|
|
|
// FIXME(#83989): codegen-units=1 triggers linker errors on aarch64-gnu
|
|
|
|
// compile-flags: -Z sanitizer=hwaddress -O -g -C codegen-units=16
|
2021-01-23 02:32:38 +00:00
|
|
|
//
|
|
|
|
// run-fail
|
|
|
|
// error-pattern: HWAddressSanitizer: tag-mismatch
|
|
|
|
|
|
|
|
use std::hint::black_box;
|
|
|
|
|
|
|
|
fn main() {
|
|
|
|
let xs = vec![0, 1, 2, 3];
|
|
|
|
// Avoid optimizing everything out.
|
|
|
|
let xs = black_box(xs.as_ptr());
|
|
|
|
let code = unsafe { *xs.offset(4) };
|
|
|
|
std::process::exit(code);
|
|
|
|
}
|