diff options
| author | Simonas Kazlauskas <git@kazlauskas.me> | 2016-05-26 02:48:25 +0300 |
|---|---|---|
| committer | Simonas Kazlauskas <git@kazlauskas.me> | 2016-05-26 02:48:25 +0300 |
| commit | b9d014b73adc34c9c19c0f6a5ae13998e46fbb6e (patch) | |
| tree | d0f1a6f783e77e8bcb64f2a2e8993d35d3aea9b3 /src/test | |
| parent | 97bf80f42767ee0a7deadd883138870d2fb1ba4a (diff) | |
| download | rust-b9d014b73adc34c9c19c0f6a5ae13998e46fbb6e.tar.gz rust-b9d014b73adc34c9c19c0f6a5ae13998e46fbb6e.zip | |
Add a regression test
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/run-pass/foreign-truncated-arguments.rs | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/src/test/run-pass/foreign-truncated-arguments.rs b/src/test/run-pass/foreign-truncated-arguments.rs new file mode 100644 index 00000000000..a983a4a9598 --- /dev/null +++ b/src/test/run-pass/foreign-truncated-arguments.rs @@ -0,0 +1,29 @@ +// Copyright 2016 The Rust Project Developers. See the COPYRIGHT +// file at the top-level directory of this distribution and at +// http://rust-lang.org/COPYRIGHT. +// +// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or +// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license +// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your +// option. This file may not be copied, modified, or distributed +// except according to those terms. + +// compile-flags: -O +// Regression test for https://github.com/rust-lang/rust/issues/33868 + +#[repr(C)] +pub struct S { + a: u32, + b: f32, + c: u32 +} + +#[no_mangle] +#[inline(never)] +pub extern "C" fn test(s: S) -> u32 { + s.c +} + +fn main() { + assert_eq!(test(S{a: 0, b: 0.0, c: 42}), 42); +} |
