diff --git a/docs/Android.md b/docs/Android.md index 0891d85dd14ae..4918c6eafab37 100644 --- a/docs/Android.md +++ b/docs/Android.md @@ -36,8 +36,8 @@ To follow along with this guide, you'll need: instructions in the Swift project README. 2. The latest build of the Swift compiler for your Linux distro, available at https://www.swift.org/download/ or sometimes your distro package manager. -3. The latest version of the Android LTS NDK (r25c at the time of this writing), - available to download here: +3. The last version of the Android LTS NDK (r25c, the latest LTS NDK 26 at the + time of this writing doesn't work yet), available to download here: https://developer.android.com/ndk/downloads 4. An Android device with remote debugging enabled or the emulator. We require remote debugging in order to deploy built stdlib products to the device. You diff --git a/test/AutoDiff/SILOptimizer/vjp_and_pullback_inlining.swift b/test/AutoDiff/SILOptimizer/vjp_and_pullback_inlining.swift index 09aa48ccb8196..398c631173522 100644 --- a/test/AutoDiff/SILOptimizer/vjp_and_pullback_inlining.swift +++ b/test/AutoDiff/SILOptimizer/vjp_and_pullback_inlining.swift @@ -6,7 +6,7 @@ // REQUIRES: swift_in_compiler import _Differentiation -#if os(Linux) +#if canImport(Glibc) import Glibc #else import Foundation diff --git a/test/IRGen/abitypes_arm.swift b/test/IRGen/abitypes_arm.swift index 86b191f6a384b..9428294483d9c 100644 --- a/test/IRGen/abitypes_arm.swift +++ b/test/IRGen/abitypes_arm.swift @@ -11,6 +11,6 @@ class Foo { } } -// armv7: define internal void @makeOne(ptr noalias sret({{.*}}) align 4 %agg.result, float %f, float %s) +// armv7: define internal void @makeOne(ptr noalias sret({{.*}}) align 4 %agg.result, float{{( noundef)?}} %f, float{{( noundef)?}} %s) // 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) diff --git a/test/Interop/Cxx/class/constructors-irgen-android.swift b/test/Interop/Cxx/class/constructors-irgen-android.swift index b379726dce804..3ee0e369826c9 100644 --- a/test/Interop/Cxx/class/constructors-irgen-android.swift +++ b/test/Interop/Cxx/class/constructors-irgen-android.swift @@ -9,7 +9,7 @@ import Constructors import TypeClassification public func createHasVirtualBase() -> HasVirtualBase { - // ITANIUM_ARM: define protected swiftcc void @"$s7MySwift20createHasVirtualBaseSo0deF0VyF"(ptr noalias nocapture sret({{.*}}) %0) + // ITANIUM_ARM: define protected swiftcc void @"$s7MySwift20createHasVirtualBaseSo0deF0VyF"(ptr noalias sret({{.*}}) %0) // To verify that the thunk is inlined, make sure there's no intervening // `define`, i.e. the call to the C++ constructor happens in // createHasVirtualBase(), not some later function. diff --git a/test/Interop/Cxx/templates/class-template-non-type-parameter-irgen.swift b/test/Interop/Cxx/templates/class-template-non-type-parameter-irgen.swift index 91f646cbf738e..1cecc71d8e022 100644 --- a/test/Interop/Cxx/templates/class-template-non-type-parameter-irgen.swift +++ b/test/Interop/Cxx/templates/class-template-non-type-parameter-irgen.swift @@ -5,5 +5,5 @@ import ClassTemplateNonTypeParameter let p = MagicIntPair() let t = MagicIntTriple() -// CHECK: @"${{s4main1pSo0042MagicArrayCInt_CUnsignedLong_2_DFABlHknrCcVvp|s4main1pSo0047MagicArrayCInt_CUnsignedLongLong_2_ofBJmlmartjdVvp}}" -// CHECK: @"${{s4main1tSo0042MagicArrayCInt_CUnsignedLong_3_DFABlHknrCcVvp|s4main1tSo0047MagicArrayCInt_CUnsignedLongLong_3_ofBJmlmartjdVvp}}" +// CHECK: @"${{s4main1pSo0042MagicArrayCInt_CUnsignedLong_2_DFABlHknrCcVvp|s4main1pSo0047MagicArrayCInt_CUnsignedLongLong_2_ofBJmlmartjdVvp|s4main1pSo0041MagicArrayCInt_CUnsignedInt_2_yDFGkvkBqzcVvp}}" +// CHECK: @"${{s4main1tSo0042MagicArrayCInt_CUnsignedLong_3_DFABlHknrCcVvp|s4main1tSo0047MagicArrayCInt_CUnsignedLongLong_3_ofBJmlmartjdVvp|s4main1tSo0041MagicArrayCInt_CUnsignedInt_3_yDFGkvkBqzcVvp}}" diff --git a/test/SILOptimizer/character_literals.swift b/test/SILOptimizer/character_literals.swift index d6db72e9ecd13..45a94d628c61f 100644 --- a/test/SILOptimizer/character_literals.swift +++ b/test/SILOptimizer/character_literals.swift @@ -19,30 +19,33 @@ public func charArray(_ i: Int) -> [Character] { // NOTE: 97 = 'a' // NOTE: -2233785415175766016 = 0xE1 = 0xE0 (ASCII discrim) | 0x01 (count) +// NOTE: On Android AArch64, this is shifted right by one byte: 0x00E1 = 63331869759897600 // // CHECK-LABEL: define {{.*}}singleChar // CHECK-NEXT: entry: -// CHECK-NEXT: ret { i64, ptr } { i64 97, ptr inttoptr (i64 -2233785415175766016 to ptr) } +// CHECK-NEXT: ret { i64, ptr } { i64 97, ptr inttoptr (i64 {{-2233785415175766016|63331869759897600}} to ptr) } public func singleChar() -> Character { return "a" } // NOTE: 10852326 = 0xE6 0x97 0xA5 (little endian), the encoding of U+65E5 // NOTE: -6701356245527298048 = 0xA3 = 0xA0 (non-ASCII discrim) | 0x03 (count) +// NOTE: On Android AArch64, this is shifted right by one byte: 0x00A3 = 45880421203836928 // // CHECK-LABEL: define {{.*}}singleNonAsciiChar // CHECK-NEXT: entry: -// CHECK-NEXT: ret { i64, ptr } { i64 10852326, ptr inttoptr (i64 -6701356245527298048 to ptr) } +// CHECK-NEXT: ret { i64, ptr } { i64 10852326, ptr inttoptr (i64 {{-6701356245527298048|45880421203836928}} to ptr) } public func singleNonAsciiChar() -> Character { return "日" } // NOTE: -9223372036854775808 = 0x80 = immortal large discrim +// NOTE: On Android AArch64, this is shifted right by one byte: 0x0080 = 36028797018963968 // NOTE: 1152921504606847001 = 25 (code unit length) | `isTailAllocated` perf flag // // CHECK-LABEL: define {{.*}}singleNonSmolChar // CHECK-NEXT: entry: -// CHECK: ret { i64, ptr } { i64 1152921504606847001, ptr {{.*}}@".str.25.\F0\9F\91\A9\E2\80\8D\F0\9F\91\A9\E2\80\8D\F0\9F\91\A6\E2\80\8D\F0\9F\91\A6" {{.*}}i64 -9223372036854775808 +// CHECK: ret { i64, ptr } { i64 1152921504606847001, ptr {{.*}}@".str.25.\F0\9F\91\A9\E2\80\8D\F0\9F\91\A9\E2\80\8D\F0\9F\91\A6\E2\80\8D\F0\9F\91\A6" {{.*}}i64 {{-9223372036854775808|36028797018963968}} public func singleNonSmolChar() -> Character { return "👩‍👩‍👦‍👦" }