diff options
| author | Nikita Popov <nikita.ppv@gmail.com> | 2021-03-11 22:55:11 +0100 |
|---|---|---|
| committer | Nikita Popov <nikita.ppv@gmail.com> | 2021-03-11 22:58:14 +0100 |
| commit | ef269ac4fcf62e9fa39f4d6d28ccae6eeebda4c4 (patch) | |
| tree | 6d623ddc662e8c133306beb33a56c14e994bfbcb /src/test | |
| parent | d9be71a5b829756aa7aab3cff587efe88d2893cd (diff) | |
| download | rust-ef269ac4fcf62e9fa39f4d6d28ccae6eeebda4c4.tar.gz rust-ef269ac4fcf62e9fa39f4d6d28ccae6eeebda4c4.zip | |
Add tests for issues #82833 and #82859
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/ui/issues/issue-82833-slice-miscompile.rs | 17 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-82859-slice-miscompile.rs | 19 |
2 files changed, 36 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-82833-slice-miscompile.rs b/src/test/ui/issues/issue-82833-slice-miscompile.rs new file mode 100644 index 00000000000..b14e5f6fb12 --- /dev/null +++ b/src/test/ui/issues/issue-82833-slice-miscompile.rs @@ -0,0 +1,17 @@ +// run-pass +// compile-flags: -Ccodegen-units=1 -Cinline-threshold=0 -Clink-dead-code -Copt-level=0 -Cdebuginfo=2 +// ignore-tidy-linelength + +// Make sure LLVM does not miscompile this. + +fn make_string(ch: char) -> String { + let mut bytes = [0u8; 4]; + ch.encode_utf8(&mut bytes).into() +} + +fn main() { + let ch = '😃'; + dbg!(ch); + let string = make_string(ch); + dbg!(string); +} diff --git a/src/test/ui/issues/issue-82859-slice-miscompile.rs b/src/test/ui/issues/issue-82859-slice-miscompile.rs new file mode 100644 index 00000000000..b64eb499071 --- /dev/null +++ b/src/test/ui/issues/issue-82859-slice-miscompile.rs @@ -0,0 +1,19 @@ +// run-pass +// compile-flags: -Copt-level=0 -Cdebuginfo=2 + +// Make sure LLVM does not miscompile this. + +fn indirect_get_slice() -> &'static [usize] { + &[] +} + +#[inline(always)] +fn get_slice() -> &'static [usize] { + let ret = indirect_get_slice(); + ret +} + +fn main() { + let output = get_slice().len(); + assert_eq!(output, 0); +} |
