summaryrefslogtreecommitdiff
path: root/user/rust/0010-test-c-variadic-Fix-patterns-on-powerpc64.patch
diff options
context:
space:
mode:
authorA. Wilcox <awilcox@wilcox-tech.com>2019-09-28 16:46:04 +0000
committerA. Wilcox <awilcox@wilcox-tech.com>2019-09-28 16:46:04 +0000
commit7f660eb77c44872fe454eaf31b543969630670f3 (patch)
treec657ba5ee86a0f2021388bd4ff08e3b3a80dae4e /user/rust/0010-test-c-variadic-Fix-patterns-on-powerpc64.patch
parentd7c07ebaf84058b90112193bf3953289c280a1a6 (diff)
parentbdb273539df454bdd85dcfb37f7c0135d33477f8 (diff)
downloadpackages-7f660eb77c44872fe454eaf31b543969630670f3.tar.gz
packages-7f660eb77c44872fe454eaf31b543969630670f3.tar.bz2
packages-7f660eb77c44872fe454eaf31b543969630670f3.tar.xz
packages-7f660eb77c44872fe454eaf31b543969630670f3.zip
Merge branch 'rust' into 'master'
user/rust: Bump to 1.37.0 See merge request adelie/packages!270
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
+