mirror of
https://github.com/rust-lang/rust.git
synced 2026-04-27 18:57:42 +03:00
32 lines
1.7 KiB
Rust
32 lines
1.7 KiB
Rust
// ignore-tidy-linelength
|
|
//@ revisions: both enable-separately-disable-together enable-together-disable-separately
|
|
//@ check-fail
|
|
//@ ignore-nvptx64 stack protector is not supported
|
|
//@ ignore-wasm32-unknown-unknown stack protector is not supported
|
|
//@ edition:future
|
|
|
|
// msvc has an extra unwind dependency of std, normalize it in the error messages
|
|
//@ normalize-stderr: "\b(unwind|libc)\b" -> "unwind/libc"
|
|
|
|
// just use 2 partial mitigations, without any allow/deny flag. Should be denied at edition=future.
|
|
//@ [both] compile-flags: -Z unstable-options -C control-flow-guard=on -Z stack-protector=all
|
|
|
|
// check that mitigations are denied if they are enabled separately and then disabled in a single command,
|
|
// to test the "foo,bar" syntax
|
|
//@ [enable-separately-disable-together] compile-flags: -Z unstable-options -C control-flow-guard=on -Z stack-protector=all -Z allow-partial-mitigations=stack-protector -Z allow-partial-mitigations=control-flow-guard -Z deny-partial-mitigations=control-flow-guard,stack-protector
|
|
|
|
// same, but for allow
|
|
//@ [enable-together-disable-separately] compile-flags: -Z unstable-options -C control-flow-guard=on -Z stack-protector=all -Z allow-partial-mitigations=stack-protector,control-flow-guard -Z deny-partial-mitigations=control-flow-guard -Z deny-partial-mitigations=stack-protector
|
|
|
|
fn main() {}
|
|
//~^ ERROR that is not compiled with
|
|
//~| ERROR that is not compiled with
|
|
//~| ERROR that is not compiled with
|
|
//~| ERROR that is not compiled with
|
|
//~| ERROR that is not compiled with
|
|
//~| ERROR that is not compiled with
|
|
//~| ERROR that is not compiled with
|
|
//~| ERROR that is not compiled with
|
|
//~| ERROR that is not compiled with
|
|
//~| ERROR that is not compiled with
|