summaryrefslogtreecommitdiff
path: root/user/rust/0010-test-c-variadic-Fix-patterns-on-powerpc64.patch
diff options
context:
space:
mode:
Diffstat (limited to 'user/rust/0010-test-c-variadic-Fix-patterns-on-powerpc64.patch')
-rw-r--r--user/rust/0010-test-c-variadic-Fix-patterns-on-powerpc64.patch73
1 files changed, 73 insertions, 0 deletions
diff --git a/user/rust/0010-test-c-variadic-Fix-patterns-on-powerpc64.patch b/user/rust/0010-test-c-variadic-Fix-patterns-on-powerpc64.patch
new file mode 100644
index 000000000..2e2111edb
--- /dev/null
+++ b/user/rust/0010-test-c-variadic-Fix-patterns-on-powerpc64.patch
@@ -0,0 +1,73 @@
+From e6a01c436377109808cac2d49ec30968a02b561d Mon Sep 17 00:00:00 2001
+From: Samuel Holland <samuel@sholland.org>
+Date: Mon, 2 Sep 2019 22:09:15 -0500
+Subject: [PATCH 10/16] test/c-variadic: Fix patterns on powerpc64
+
+---
+ src/test/codegen/c-variadic.rs | 22 +++++++++++-----------
+ 1 file changed, 11 insertions(+), 11 deletions(-)
+
+diff --git a/src/test/codegen/c-variadic.rs b/src/test/codegen/c-variadic.rs
+index bb90a9653f5..6ef77ca483f 100644
+--- a/src/test/codegen/c-variadic.rs
++++ b/src/test/codegen/c-variadic.rs
+@@ -14,13 +14,13 @@ extern "C" {
+ #[unwind(aborts)] // FIXME(#58794)
+ pub unsafe extern "C" fn use_foreign_c_variadic_0() {
+ // Ensure that we correctly call foreign C-variadic functions.
+- // CHECK: invoke void (i32, ...) @foreign_c_variadic_0(i32 0)
++ // CHECK: invoke void (i32, ...) @foreign_c_variadic_0([[PARAM:i32( signext)?]] 0)
+ foreign_c_variadic_0(0);
+- // CHECK: invoke void (i32, ...) @foreign_c_variadic_0(i32 0, i32 42)
++ // CHECK: invoke void (i32, ...) @foreign_c_variadic_0([[PARAM]] 0, [[PARAM]] 42)
+ foreign_c_variadic_0(0, 42i32);
+- // CHECK: invoke void (i32, ...) @foreign_c_variadic_0(i32 0, i32 42, i32 1024)
++ // CHECK: invoke void (i32, ...) @foreign_c_variadic_0([[PARAM]] 0, [[PARAM]] 42, [[PARAM]] 1024)
+ foreign_c_variadic_0(0, 42i32, 1024i32);
+- // CHECK: invoke void (i32, ...) @foreign_c_variadic_0(i32 0, i32 42, i32 1024, i32 0)
++ // CHECK: invoke void (i32, ...) @foreign_c_variadic_0([[PARAM]] 0, [[PARAM]] 42, [[PARAM]] 1024, [[PARAM]] 0)
+ foreign_c_variadic_0(0, 42i32, 1024i32, 0i32);
+ }
+
+@@ -34,18 +34,18 @@ pub unsafe extern "C" fn use_foreign_c_variadic_1_0(ap: VaList) {
+
+ #[unwind(aborts)] // FIXME(#58794)
+ pub unsafe extern "C" fn use_foreign_c_variadic_1_1(ap: VaList) {
+- // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, i32 42)
++ // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, [[PARAM]] 42)
+ foreign_c_variadic_1(ap, 42i32);
+ }
+ #[unwind(aborts)] // FIXME(#58794)
+ pub unsafe extern "C" fn use_foreign_c_variadic_1_2(ap: VaList) {
+- // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, i32 2, i32 42)
++ // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, [[PARAM]] 2, [[PARAM]] 42)
+ foreign_c_variadic_1(ap, 2i32, 42i32);
+ }
+
+ #[unwind(aborts)] // FIXME(#58794)
+ pub unsafe extern "C" fn use_foreign_c_variadic_1_3(ap: VaList) {
+- // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, i32 2, i32 42, i32 0)
++ // CHECK: invoke void ({{.*}}*, ...) @foreign_c_variadic_1({{.*}} %ap, [[PARAM]] 2, [[PARAM]] 42, [[PARAM]] 0)
+ foreign_c_variadic_1(ap, 2i32, 42i32, 0i32);
+ }
+
+@@ -64,12 +64,12 @@ pub unsafe extern "C" fn c_variadic(n: i32, mut ap: ...) -> i32 {
+ // Ensure that we generate the correct `call` signature when calling a Rust
+ // defined C-variadic.
+ pub unsafe fn test_c_variadic_call() {
+- // CHECK: call i32 (i32, ...) @c_variadic(i32 0)
++ // CHECK: call [[RET:(signext )?i32]] (i32, ...) @c_variadic([[PARAM]] 0)
+ c_variadic(0);
+- // CHECK: call i32 (i32, ...) @c_variadic(i32 0, i32 42)
++ // CHECK: call [[RET]] (i32, ...) @c_variadic([[PARAM]] 0, [[PARAM]] 42)
+ c_variadic(0, 42i32);
+- // CHECK: call i32 (i32, ...) @c_variadic(i32 0, i32 42, i32 1024)
++ // CHECK: call [[RET]] (i32, ...) @c_variadic([[PARAM]] 0, [[PARAM]] 42, [[PARAM]] 1024)
+ c_variadic(0, 42i32, 1024i32);
+- // CHECK: call i32 (i32, ...) @c_variadic(i32 0, i32 42, i32 1024, i32 0)
++ // CHECK: call [[RET]] (i32, ...) @c_variadic([[PARAM]] 0, [[PARAM]] 42, [[PARAM]] 1024, [[PARAM]] 0)
+ c_variadic(0, 42i32, 1024i32, 0i32);
+ }
+--
+2.21.0
+