about summary refs log tree commit diff
path: root/src/test
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2018-01-25 12:48:45 -0600
committerGitHub <noreply@github.com>2018-01-25 12:48:45 -0600
commitfe2fb24228dfdebf9626ceb8422d6c21c4e354cd (patch)
treee391a06ab9e9796b1973106d2602fd5f28040cdb /src/test
parent3b2403306f5d3d5826b0586d9f23bc650c65cce3 (diff)
parentcbeebc5b2cde6cb4f6cec9cd0cdfbd5d2c15dc39 (diff)
downloadrust-fe2fb24228dfdebf9626ceb8422d6c21c4e354cd.tar.gz
rust-fe2fb24228dfdebf9626ceb8422d6c21c4e354cd.zip
Rollup merge of #47437 - eddyb:issue-38763, r=nagisa
rustc_trans: take into account primitives larger than 8 bytes.

Fixes #38763 by marking all "eightbytes" covered by a primitive appropriately, not just the first.
Diffstat (limited to 'src/test')
-rw-r--r--src/test/run-pass/issue-38763.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/run-pass/issue-38763.rs b/src/test/run-pass/issue-38763.rs
new file mode 100644
index 00000000000..4bf9513d64f
--- /dev/null
+++ b/src/test/run-pass/issue-38763.rs
@@ -0,0 +1,21 @@
+// Copyright 2018 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.
+
+#![feature(i128_type)]
+
+#[repr(C)]
+pub struct Foo(i128);
+
+#[no_mangle]
+pub extern "C" fn foo(x: Foo) -> Foo { x }
+
+fn main() {
+    foo(Foo(1));
+}