about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorTim Chevalier <catamorphism@gmail.com>2012-10-17 11:00:36 -0700
committerTim Chevalier <catamorphism@gmail.com>2012-10-17 11:00:36 -0700
commit7f12cc4e63657155f54fd734c791f66f5f6d9e20 (patch)
treeefe3db84cd3d06df79d052d315949b638932d1fa /src/test
parent47c83f1844d033a2ee12aa05eed30112804f4585 (diff)
parent25096a212a9ccaa0d181630af5971532c3472182 (diff)
Merge pull request #3716 from Blei/fix-3656
rustc: fix size computation of structs for the FFI
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/issue-3656.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/test/run-pass/issue-3656.rs b/src/test/run-pass/issue-3656.rs
new file mode 100644
index 00000000000..feb7ad1db7a
--- /dev/null
+++ b/src/test/run-pass/issue-3656.rs
@@ -0,0 +1,20 @@
+// Issue #3656
+// Incorrect struct size computation in the FFI, because of not taking
+// the alignment of elements into account.
+
+use libc::*;
+
+struct KEYGEN {
+    hash_algorithm: [c_uint]/2,
+    count: uint32_t,
+    salt: *c_void,
+    salt_size: uint32_t,
+}
+
+extern {
+    // Bogus signature, just need to test if it compiles.
+    pub fn malloc(++data: KEYGEN);
+}
+
+fn main() {
+}