Skip to content

[test] Fix or disable tests for 32-bit platforms #82501

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 30, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions test/ClangImporter/pcm-emit-direct-cc1-mode.swift
Original file line number Diff line number Diff line change
Expand Up @@ -15,5 +15,7 @@
// CHECK-CLANG-SAME: '-fmodules'
// CHECK-CLANG-NOT: clang importer driver args

// XFAIL: OS=linux-androideabi

import script
var _ : ScriptTy
2 changes: 1 addition & 1 deletion test/IRGen/abitypes_arm.swift
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ class Foo {
}
}

// armv7: define internal void @makeOne(ptr noalias sret({{.*}}) align 4 %agg.result, float{{( noundef)?}} %f, float{{( noundef)?}} %s)
// armv7: define internal void @makeOne(ptr{{( dead_on_unwind)?}} noalias{{( writable)?}} sret({{.*}}) align 4 %agg.result, float{{( noundef)?}} %f, float{{( noundef)?}} %s)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Android armv7 generated define internal void @makeOne(ptr dead_on_unwind noalias writable sret(%struct.One) align 4 %agg.result, float noundef %f, float noundef %s) in its IR instead, so I added those attributes, optionally since I don't know if they will be there on other armv7 platforms.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like Clang adds dead_on_unwind for sret args, so they always appear in a combination. I guess we don't need to make it optional. https://github.com/swiftlang/llvm-project/blob/f1607d165cb61ef9f857d76afc6e8a04345bb41a/clang/lib/CodeGen/CGCall.cpp#L2622

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

OK, do you mind approving this pull as is? Don't want to kick off another CI run just for this, and keeping it optional is more flexible anyway.

// armv7s: define internal void @makeOne(ptr noalias sret({{.*}}) align 4 %agg.result, float %f, float %s)
// armv7k: define internal %struct.One @makeOne(float {{.*}}%f, float {{.*}}%s)
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=Constructors -I %S/Inputs -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// XFAIL: OS=linux-androideabi

// CHECK: struct TemplatedCopyConstructor
// CHECK: struct TemplatedCopyConstructorWithExtraArg
Expand Down
1 change: 1 addition & 0 deletions test/Interop/Cxx/class/constructors-diagnostics.swift
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

// This test uses -verify-additional-file, which do not work well on Windows.
// UNSUPPORTED: OS=windows-msvc
// XFAIL: OS=linux-androideabi

import Constructors

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// RUN: %target-swift-ide-test -print-module -module-to-print=Constructors -I %S/Inputs/ -source-filename=x -enable-experimental-cxx-interop | %FileCheck %s
// XFAIL: OS=linux-androideabi

// CHECK: struct ExplicitDefaultConstructor {
// CHECK-NEXT: init()
Expand Down
1 change: 1 addition & 0 deletions test/Interop/Cxx/class/constructors-silgen.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// RUN: %target-swiftxx-frontend -I %S/Inputs -Xllvm -sil-print-types -emit-silgen %s | %FileCheck %s
// XFAIL: OS=linux-androideabi

import Constructors

Expand Down
1 change: 1 addition & 0 deletions test/Interop/Cxx/class/constructors-typechecker.swift
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
// RUN: %target-typecheck-verify-swift -verify-ignore-unknown -I %S/Inputs -enable-experimental-cxx-interop
// XFAIL: OS=linux-androideabi

import Constructors

Expand Down
2 changes: 1 addition & 1 deletion test/Interop/Cxx/class/custom-new-operator-irgen.swift
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,4 @@ import CustomNewOperator
var x = callsCustomNew()

// Make sure the definition of `operator new` is emitted.
// CHECK: define {{.*}} @{{_ZnwmPv15container_new_t|"\?\?2@YAPEAX_KPEAXUcontainer_new_t@@@Z"}}
// CHECK: define {{.*}} @{{_Znw(j|m)Pv15container_new_t|"\?\?2@YAPEAX_KPEAXUcontainer_new_t@@@Z"}}
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

llvm-cxxfilt _ZnwjPv15container_new_t demangles this to operator new(unsigned int, void*, container_new_t), in addition to the operator new(unsigned long, void*, container_new_t) that was already there for 64-bit platforms.

2 changes: 1 addition & 1 deletion test/SILOptimizer/package-cmo-serialize-tables.swift
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

// Temporarily disabling on watchOS (both arm64_32 & armv7k):
// rdar://140330692 (🟠 OSS Swift CI: oss-swift_tools-RA_stdlib-DA_test-device-non_executable failed...
// UNSUPPORTED: OS=watchos
// UNSUPPORTED: OS=watchos, OS=linux-androideabi

//--- main.swift

Expand Down
2 changes: 1 addition & 1 deletion test/SILOptimizer/throws_prediction.swift
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
// RUN: -sil-verify-all -module-name=test -emit-sil \
// RUN: | %FileCheck --check-prefix CHECK-DISABLED %s

// UNSUPPORTED: CPU=armv7k || CPU=arm64_32
// UNSUPPORTED: CPU=armv7k, CPU=arm64_32, CPU=armv7

// CHECK-DISABLED-NOT: normal_count

Expand Down