about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorGuillaume Gomez <guillaume1.gomez@gmail.com>2015-08-30 09:53:32 +0200
committerGuillaume Gomez <guillaume1.gomez@gmail.com>2015-08-30 11:29:34 +0200
commitbc024d261ee61276101985807d9ce6fff38d856c (patch)
treef890df05a41671b8091b718cc2248a3ca3d64f66 /src
parent4ad7cbaa5138f2d474ffe7544bc1d9f3919d23cd (diff)
downloadrust-bc024d261ee61276101985807d9ce6fff38d856c.tar.gz
rust-bc024d261ee61276101985807d9ce6fff38d856c.zip
Add compile-fail test for E0444
Diffstat (limited to 'src')
-rw-r--r--src/librustc_typeck/diagnostics.rs2
-rw-r--r--src/test/compile-fail/intrinsic-invalid-number-of-arguments.rs24
2 files changed, 25 insertions, 1 deletions
diff --git a/src/librustc_typeck/diagnostics.rs b/src/librustc_typeck/diagnostics.rs
index 2086341a3fb..a7c1fbb2719 100644
--- a/src/librustc_typeck/diagnostics.rs
+++ b/src/librustc_typeck/diagnostics.rs
@@ -3042,7 +3042,7 @@ with yours. Example:
 struct f64x2(f64, f64);
 
 extern "platform-intrinsic" {
-    fn x86_mm_movemask_pd(x: f64x2, y: f64x2) -> i32; // ok!
+    fn x86_mm_movemask_pd(x: f64x2) -> i32; // ok!
 }
 ```
 "##,
diff --git a/src/test/compile-fail/intrinsic-invalid-number-of-arguments.rs b/src/test/compile-fail/intrinsic-invalid-number-of-arguments.rs
new file mode 100644
index 00000000000..a224690af76
--- /dev/null
+++ b/src/test/compile-fail/intrinsic-invalid-number-of-arguments.rs
@@ -0,0 +1,24 @@
+// Copyright 2014 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.
+
+// Test number of arguments in platform-specific intrinsic function
+// This is the error E0444
+
+#![feature(repr_simd, platform_intrinsics)]
+
+#[repr(simd)]
+struct f64x2(f64, f64);
+
+extern "platform-intrinsic" {
+    fn x86_mm_movemask_pd(x: f64x2, y: f64x2, z: f64x2) -> i32; //~ platform-specific intrinsic
+}
+
+pub fn main() {
+}