diff options
Diffstat (limited to 'src/test/ui/sanitize/hwaddress.rs')
-rw-r--r-- | src/test/ui/sanitize/hwaddress.rs | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/test/ui/sanitize/hwaddress.rs b/src/test/ui/sanitize/hwaddress.rs new file mode 100644 index 000000000..b988035f7 --- /dev/null +++ b/src/test/ui/sanitize/hwaddress.rs @@ -0,0 +1,23 @@ +// needs-sanitizer-support +// needs-sanitizer-hwaddress +// +// FIXME(#83706): this test triggers errors on aarch64-gnu +// ignore-aarch64-unknown-linux-gnu +// +// FIXME(#83989): codegen-units=1 triggers linker errors on aarch64-gnu +// compile-flags: -Z sanitizer=hwaddress -O -g -C codegen-units=16 +// +// run-fail +// error-pattern: HWAddressSanitizer: tag-mismatch + +#![feature(bench_black_box)] + +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); +} |