diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
commit | 218caa410aa38c29984be31a5229b9fa717560ee (patch) | |
tree | c54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/incremental/hashes/panic_exprs.rs | |
parent | Releasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/incremental/hashes/panic_exprs.rs')
-rw-r--r-- | src/test/incremental/hashes/panic_exprs.rs | 151 |
1 files changed, 0 insertions, 151 deletions
diff --git a/src/test/incremental/hashes/panic_exprs.rs b/src/test/incremental/hashes/panic_exprs.rs deleted file mode 100644 index 37d10d922..000000000 --- a/src/test/incremental/hashes/panic_exprs.rs +++ /dev/null @@ -1,151 +0,0 @@ -// This test case tests the incremental compilation hash (ICH) implementation -// for exprs that can panic at runtime (e.g., because of bounds checking). For -// these expressions an error message containing their source location is -// generated, so their hash must always depend on their location in the source -// code, not just when debuginfo is enabled. - -// The general pattern followed here is: Change one thing between rev1 and rev2 -// and make sure that the hash has changed, then change nothing between rev2 and -// rev3 and make sure that the hash has not changed. - -// build-pass (FIXME(62277): could be check-pass?) -// revisions: cfail1 cfail2 cfail3 -// compile-flags: -Z query-dep-graph -C debug-assertions -O - -#![allow(warnings)] -#![feature(rustc_attrs)] -#![crate_type="rlib"] - - -// Indexing expression -#[rustc_clean(cfg="cfail2", except="hir_owner_nodes,optimized_mir")] -#[rustc_clean(cfg="cfail3")] -pub fn indexing(slice: &[u8]) -> u8 { - #[cfg(cfail1)] - { - slice[100] - } - #[cfg(not(cfail1))] - { - slice[100] - } -} - - -// Arithmetic overflow plus -#[rustc_clean(cfg="cfail2", except="hir_owner_nodes,optimized_mir")] -#[rustc_clean(cfg="cfail3")] -pub fn arithmetic_overflow_plus(val: i32) -> i32 { - #[cfg(cfail1)] - { - val + 1 - } - #[cfg(not(cfail1))] - { - val + 1 - } -} - - -// Arithmetic overflow minus -#[rustc_clean(cfg="cfail2", except="hir_owner_nodes,optimized_mir")] -#[rustc_clean(cfg="cfail3")] -pub fn arithmetic_overflow_minus(val: i32) -> i32 { - #[cfg(cfail1)] - { - val - 1 - } - #[cfg(not(cfail1))] - { - val - 1 - } -} - - -// Arithmetic overflow mult -#[rustc_clean(cfg="cfail2", except="hir_owner_nodes,optimized_mir")] -#[rustc_clean(cfg="cfail3")] -pub fn arithmetic_overflow_mult(val: i32) -> i32 { - #[cfg(cfail1)] - { - val * 2 - } - #[cfg(not(cfail1))] - { - val * 2 - } -} - - -// Arithmetic overflow negation -#[rustc_clean(cfg="cfail2", except="hir_owner_nodes,optimized_mir")] -#[rustc_clean(cfg="cfail3")] -pub fn arithmetic_overflow_negation(val: i32) -> i32 { - #[cfg(cfail1)] - { - -val - } - #[cfg(not(cfail1))] - { - -val - } -} - - -// Division by zero -#[rustc_clean(cfg="cfail2", except="hir_owner_nodes,optimized_mir")] -#[rustc_clean(cfg="cfail3")] -pub fn division_by_zero(val: i32) -> i32 { - #[cfg(cfail1)] - { - 2 / val - } - #[cfg(not(cfail1))] - { - 2 / val - } -} - -// Division by zero -#[rustc_clean(cfg="cfail2", except="hir_owner_nodes,optimized_mir")] -#[rustc_clean(cfg="cfail3")] -pub fn mod_by_zero(val: i32) -> i32 { - #[cfg(cfail1)] - { - 2 % val - } - #[cfg(not(cfail1))] - { - 2 % val - } -} - - -// shift left -#[rustc_clean(cfg="cfail2", except="hir_owner_nodes,optimized_mir")] -#[rustc_clean(cfg="cfail3")] -pub fn shift_left(val: i32, shift: usize) -> i32 { - #[cfg(cfail1)] - { - val << shift - } - #[cfg(not(cfail1))] - { - val << shift - } -} - - -// shift right -#[rustc_clean(cfg="cfail2", except="hir_owner_nodes,optimized_mir")] -#[rustc_clean(cfg="cfail3")] -pub fn shift_right(val: i32, shift: usize) -> i32 { - #[cfg(cfail1)] - { - val >> shift - } - #[cfg(not(cfail1))] - { - val >> shift - } -} |