diff options
Diffstat (limited to 'tests/codegen-llvm/inherit_overflow.rs')
| -rw-r--r-- | tests/codegen-llvm/inherit_overflow.rs | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/tests/codegen-llvm/inherit_overflow.rs b/tests/codegen-llvm/inherit_overflow.rs new file mode 100644 index 00000000000..e4a5ef39fc5 --- /dev/null +++ b/tests/codegen-llvm/inherit_overflow.rs @@ -0,0 +1,14 @@ +//@ compile-flags: -Zmir-enable-passes=+Inline,+GVN --crate-type lib +//@ revisions: ASSERT NOASSERT +//@[ASSERT] compile-flags: -Coverflow-checks=on +//@[NOASSERT] compile-flags: -Coverflow-checks=off + +// CHECK-LABEL: define{{.*}} @assertion +// ASSERT: call void @{{.*4core9panicking11panic_const24panic_const_add_overflow}} +// NOASSERT: ret i8 0 +#[no_mangle] +pub fn assertion() -> u8 { + // Optimized MIR will replace this `CheckedBinaryOp` by `const (0, true)`. + // Verify that codegen does or does not emit the panic. + <u8 as std::ops::Add>::add(255, 1) +} |
