diff options
Diffstat (limited to 'src/test/ui/issues/issue-3656.rs')
-rw-r--r-- | src/test/ui/issues/issue-3656.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-3656.rs b/src/test/ui/issues/issue-3656.rs new file mode 100644 index 000000000..4a9f94306 --- /dev/null +++ b/src/test/ui/issues/issue-3656.rs @@ -0,0 +1,27 @@ +// run-pass +#![allow(dead_code)] +#![allow(improper_ctypes)] +// Issue #3656 +// Incorrect struct size computation in the FFI, because of not taking +// the alignment of elements into account. + +// pretty-expanded FIXME #23616 +// ignore-wasm32-bare no libc to test with +#![feature(rustc_private)] + +extern crate libc; +use libc::{c_uint, c_void}; + +pub struct KEYGEN { + hash_algorithm: [c_uint; 2], + count: u32, + salt: *const c_void, + salt_size: u32, +} + +extern "C" { + // Bogus signature, just need to test if it compiles. + pub fn malloc(data: KEYGEN); +} + +pub fn main() {} |