Skip to content

Commit

Permalink
[android][test] Fix new C++ interop test on Android armv7 and new IRG…
Browse files Browse the repository at this point in the history
…en 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.
  • Loading branch information
finagolfin committed Jun 8, 2023
1 parent 46e98c1 commit a000b26
Show file tree
Hide file tree
Showing 4 changed files with 10 additions and 4 deletions.
8 changes: 5 additions & 3 deletions lib/Driver/ToolChains.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1452,9 +1452,11 @@ void ToolChain::getClangLibraryPath(const ArgList &Args,
getResourceDirPath(LibPath, Args, /*Shared=*/true);
// Remove platform name.
llvm::sys::path::remove_filename(LibPath);
llvm::sys::path::append(LibPath, "clang", "lib",
T.isOSDarwin() ? "darwin"
: getPlatformNameForTriple(T));
auto platformName =
T.isOSDarwin() ? "darwin" : getPlatformNameForTriple(Triple);
if (platformName == "android")
platformName = "linux";
llvm::sys::path::append(LibPath, "clang", "lib", platformName);
}

/// Get the runtime library link path, which is platform-specific and found
Expand Down
2 changes: 2 additions & 0 deletions test/IRGen/section.swift
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,8 @@
// ASM-NOT: .section
// ASM: $s7section3fooyyF:
// ASM-linux-gnu: .section{{.*}}__TEXT,__mysection
// ASM-linux-android: .section{{.*}}__TEXT,__mysection
// ASM-linux-androideabi: .section{{.*}}__TEXT,__mysection
// ASM-NOT: .section
// ASM: $s7section2g0Sivp:
// ASM-NOT: .section
Expand Down
2 changes: 1 addition & 1 deletion test/Interop/Cxx/class/copy-move-assignment-irgen.swift
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ public func copyAssign() {
// CHECK: call {{void|\%struct.NonTrivialCopyAndCopyMoveAssign\*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignC2Ev|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[COPY_INSTANCE:.*]])
// CHECK: call {{void|\%struct.NonTrivialCopyAndCopyMoveAssign\*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignC2Ev|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[COPY_INSTANCE2:.*]])
// CHECK: call {{void|\%struct.NonTrivialCopyAndCopyMoveAssign\*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignD1Ev|_ZN31NonTrivialCopyAndCopyMoveAssignD2Ev|"\?\?1NonTrivialCopyAndCopyMoveAssign@@QEAA@XZ"}}(%struct.NonTrivialCopyAndCopyMoveAssign* %[[COPY_INSTANCE]])
// CHECK: call {{void|\%struct.NonTrivialCopyAndCopyMoveAssign\*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1EOS_|_ZN31NonTrivialCopyAndCopyMoveAssignC2EOS_|_ZN31NonTrivialCopyAndCopyMoveAssignC1ERKS_Tm|_ZN31NonTrivialCopyAndCopyMoveAssignC2ERKS_Tm|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@AEBU0@@Z"}}(
// CHECK: call {{void|(noundef )?\%struct.NonTrivialCopyAndCopyMoveAssign\*}} @{{_ZN31NonTrivialCopyAndCopyMoveAssignC1EOS_|_ZN31NonTrivialCopyAndCopyMoveAssignC2EOS_|_ZN31NonTrivialCopyAndCopyMoveAssignC1ERKS_Tm|_ZN31NonTrivialCopyAndCopyMoveAssignC2ERKS_Tm|"\?\?0NonTrivialCopyAndCopyMoveAssign@@QEAA@AEBU0@@Z"}}(
// CHECK-SAME: %[[COPY_INSTANCE]],
// CHECK-SAME: %struct.NonTrivialCopyAndCopyMoveAssign*
// CHECK-SAME: %[[COPY_INSTANCE2]])
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@

// 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

// XFAIL: OS=linux-android, OS=linux-androideabi

//--- header.h

struct Trivial {
Expand Down

0 comments on commit a000b26

Please sign in to comment.