Skip to content

Commit a000b26

Browse files
committed
[android][test] Fix new C++ interop test on Android armv7 and new IRGen test, and disable CxxToSwiftToCxx bridging test that now fails on Android
Also, make the analogous change to swiftlang/swift-driver#1372, which gets the sanitizer tests working on Android again.
1 parent 46e98c1 commit a000b26

File tree

4 files changed

+10
-4
lines changed

4 files changed

+10
-4
lines changed

lib/Driver/ToolChains.cpp

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1452,9 +1452,11 @@ void ToolChain::getClangLibraryPath(const ArgList &Args,
14521452
getResourceDirPath(LibPath, Args, /*Shared=*/true);
14531453
// Remove platform name.
14541454
llvm::sys::path::remove_filename(LibPath);
1455-
llvm::sys::path::append(LibPath, "clang", "lib",
1456-
T.isOSDarwin() ? "darwin"
1457-
: getPlatformNameForTriple(T));
1455+
auto platformName =
1456+
T.isOSDarwin() ? "darwin" : getPlatformNameForTriple(Triple);
1457+
if (platformName == "android")
1458+
platformName = "linux";
1459+
llvm::sys::path::append(LibPath, "clang", "lib", platformName);
14581460
}
14591461

14601462
/// Get the runtime library link path, which is platform-specific and found

test/IRGen/section.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,8 @@
3838
// ASM-NOT: .section
3939
// ASM: $s7section3fooyyF:
4040
// ASM-linux-gnu: .section{{.*}}__TEXT,__mysection
41+
// ASM-linux-android: .section{{.*}}__TEXT,__mysection
42+
// ASM-linux-androideabi: .section{{.*}}__TEXT,__mysection
4143
// ASM-NOT: .section
4244
// ASM: $s7section2g0Sivp:
4345
// ASM-NOT: .section

test/Interop/Cxx/class/copy-move-assignment-irgen.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ public func copyAssign() {
2020
// CHECK: call {{void|\%struct.NonTrivialCopyAndCopyMoveAssign\*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignC2Ev|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[COPY_INSTANCE:.*]])
2121
// CHECK: call {{void|\%struct.NonTrivialCopyAndCopyMoveAssign\*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignC2Ev|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[COPY_INSTANCE2:.*]])
2222
// CHECK: call {{void|\%struct.NonTrivialCopyAndCopyMoveAssign\*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignD1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignD2Ev|"\?\?1NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[COPY_INSTANCE]])
23-
// CHECK: call {{void|\%struct.NonTrivialCopyAndCopyMoveAssign\*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1EOS_|_ZN31NonTrivialCopyAndCopyMoveAssignC2EOS_|_ZN31NonTrivialCopyAndCopyMoveAssignC1ERKS_Tm|_ZN31NonTrivialCopyAndCopyMoveAssignC2ERKS_Tm|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@AEBU0@@Z"}}(
23+
// CHECK: call {{void|(noundef )?\%struct.NonTrivialCopyAndCopyMoveAssign\*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1EOS_|_ZN31NonTrivialCopyAndCopyMoveAssignC2EOS_|_ZN31NonTrivialCopyAndCopyMoveAssignC1ERKS_Tm|_ZN31NonTrivialCopyAndCopyMoveAssignC2ERKS_Tm|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@AEBU0@@Z"}}(
2424
// CHECK-SAME: %[[COPY_INSTANCE]],
2525
// CHECK-SAME: %struct.NonTrivialCopyAndCopyMoveAssign*
2626
// CHECK-SAME: %[[COPY_INSTANCE2]])

test/Interop/CxxToSwiftToCxx/bridge-cxx-struct-back-to-cxx.swift

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020

2121
// RUN: %target-interop-build-clangxx -fsyntax-only -x c++-header %t/full-cxx-swift-cxx-bridging.h -std=gnu++20 -c -fmodules -fcxx-modules -I %t
2222

23+
// XFAIL: OS=linux-android, OS=linux-androideabi
24+
2325
//--- header.h
2426

2527
struct Trivial {

0 commit comments

Comments
 (0)