diff --git a/kotlin-native/Interop/StubGenerator/src/org/jetbrains/kotlin/native/interop/gen/AbiSpecific.kt b/kotlin-native/Interop/StubGenerator/src/org/jetbrains/kotlin/native/interop/gen/AbiSpecific.kt index 657e8a4c812..5b789d339b1 100644 --- a/kotlin-native/Interop/StubGenerator/src/org/jetbrains/kotlin/native/interop/gen/AbiSpecific.kt +++ b/kotlin-native/Interop/StubGenerator/src/org/jetbrains/kotlin/native/interop/gen/AbiSpecific.kt @@ -63,10 +63,6 @@ class DarwinX86AbiInfo : ObjCAbiInfo { class DarwinArm32AbiInfo(private val target: KonanTarget) : ObjCAbiInfo { override fun shouldUseStret(returnType: Type): Boolean = when (target) { - KonanTarget.IOS_ARM32 -> when (returnType) { - is RecordType -> !returnType.isIntegerLikeType() - else -> false - } // 32-bit watchOS uses armv7k which is effectively Cortex-A7 and // uses AAPCS16 VPF. KonanTarget.WATCHOS_ARM32 -> when (returnType) { @@ -147,4 +143,4 @@ private fun Type.hasUnalignedMembers(): Boolean = when (this) { else -> false // TODO: should the recursive checks be made in indexer when computing `hasUnalignedFields`? -} \ No newline at end of file +} diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt index ed51c0f23f7..13f08359c2e 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/OptimizationPipeline.kt @@ -114,10 +114,9 @@ internal fun createLTOFinalPipelineConfig( context.shouldContainDebugInfo() -> LlvmOptimizationLevel.NONE else -> LlvmOptimizationLevel.DEFAULT } + // TODO(KT-66501): investigate, why sizeLevel is essentially === to NONE (and inline it if it's OK) val sizeLevel: LlvmSizeLevel = when { // We try to optimize code as much as possible on embedded targets. - target is KonanTarget.ZEPHYR || - target == KonanTarget.WASM32 -> LlvmSizeLevel.AGGRESSIVE context.shouldOptimize() -> LlvmSizeLevel.NONE context.shouldContainDebugInfo() -> LlvmSizeLevel.NONE else -> LlvmSizeLevel.NONE diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/ContextUtils.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/ContextUtils.kt index ef44f283336..05baa96591b 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/ContextUtils.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/ContextUtils.kt @@ -586,7 +586,6 @@ internal class CodegenLlvmHelpers(private val generationState: NativeGenerationS } private val personalityFunctionName = when (target) { - KonanTarget.IOS_ARM32 -> "__gxx_personality_sj0" KonanTarget.MINGW_X64 -> "__gxx_personality_seh0" else -> "__gxx_personality_v0" } diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmAttributes.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmAttributes.kt index 9f272586c3a..31030ef5b19 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmAttributes.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/llvm/LlvmAttributes.kt @@ -43,7 +43,7 @@ private fun shouldEnforceFramePointer(context: Context): Boolean { return when (context.config.target.family) { Family.OSX, Family.IOS, Family.WATCHOS, Family.TVOS -> context.shouldContainLocationDebugInfo() - Family.LINUX, Family.MINGW, Family.ANDROID, Family.WASM, Family.ZEPHYR -> false + Family.LINUX, Family.MINGW, Family.ANDROID -> false } } diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/InfoPListBuilder.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/InfoPListBuilder.kt index 021e7511dff..980b7a85e27 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/InfoPListBuilder.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/InfoPListBuilder.kt @@ -110,18 +110,7 @@ internal class InfoPListBuilder( ) } - if (target == KonanTarget.IOS_ARM32) { - contents.append(""" - | UIRequiredDeviceCapabilities - | - | armv7 - | - - """.trimMargin() - ) - } - - if (bundleType == BundleType.XCTEST) { + if (bundleType == BundleType.XCTEST) { val platformName = properties.platformName().lowercase() val platformVersion = properties.sdkVersion @@ -199,4 +188,4 @@ internal class InfoPListBuilder( } return bundleID } -} \ No newline at end of file +} diff --git a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/FatFrameworkTask.kt b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/FatFrameworkTask.kt index 242a5cec862..2bcb7a554d7 100644 --- a/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/FatFrameworkTask.kt +++ b/libraries/tools/kotlin-gradle-plugin/src/common/kotlin/org/jetbrains/kotlin/gradle/targets/native/tasks/FatFrameworkTask.kt @@ -208,9 +208,6 @@ internal constructor( Architecture.X86 -> AppleArchitecture.X86 Architecture.ARM64 -> if (this == WATCHOS_ARM64) AppleArchitecture.ARM64_32 else AppleArchitecture.ARM64 Architecture.ARM32 -> AppleArchitecture.ARM32 - Architecture.MIPS32, - Architecture.MIPSEL32, - Architecture.WASM32 -> error("Fat frameworks are not supported for target `$name`") } // region DSL methods. @@ -275,10 +272,9 @@ internal constructor( // remove `is ...` after Gradle Configuration Cache deserialization for Objects of a Sealed Class is fixed // https://github.com/gradle/gradle/issues/22347 is MACOS_X64, is MACOS_ARM64 -> "MacOSX" - is IOS_ARM32, is IOS_ARM64, is IOS_X64, is IOS_SIMULATOR_ARM64 -> "iPhoneOS" + is IOS_ARM64, is IOS_X64, is IOS_SIMULATOR_ARM64 -> "iPhoneOS" is TVOS_ARM64, is TVOS_X64, is TVOS_SIMULATOR_ARM64 -> "AppleTVOS" - is WATCHOS_ARM32, is WATCHOS_ARM64, is WATCHOS_X86, - is WATCHOS_X64, is WATCHOS_SIMULATOR_ARM64, is WATCHOS_DEVICE_ARM64 -> "WatchOS" + is WATCHOS_ARM32, is WATCHOS_ARM64, is WATCHOS_X64, is WATCHOS_SIMULATOR_ARM64, is WATCHOS_DEVICE_ARM64 -> "WatchOS" else -> error("Fat frameworks are not supported for platform `${target.visibleName}`") } @@ -462,8 +458,8 @@ internal constructor( companion object { private val supportedTargets = listOf( - IOS_ARM32, IOS_ARM64, IOS_X64, - WATCHOS_ARM32, WATCHOS_ARM64, WATCHOS_X86, WATCHOS_X64, WATCHOS_DEVICE_ARM64, + IOS_ARM64, IOS_X64, + WATCHOS_ARM32, WATCHOS_ARM64, WATCHOS_X64, WATCHOS_DEVICE_ARM64, TVOS_ARM64, TVOS_X64, MACOS_X64, MACOS_ARM64 ) diff --git a/native/executors/src/main/kotlin/org/jetbrains/kotlin/native/executors/EmulatorExecutor.kt b/native/executors/src/main/kotlin/org/jetbrains/kotlin/native/executors/EmulatorExecutor.kt index 138687e8411..3a99ca4f840 100644 --- a/native/executors/src/main/kotlin/org/jetbrains/kotlin/native/executors/EmulatorExecutor.kt +++ b/native/executors/src/main/kotlin/org/jetbrains/kotlin/native/executors/EmulatorExecutor.kt @@ -28,18 +28,9 @@ class EmulatorExecutor( this.executableAbsolutePath = configurables.absoluteEmulatorExecutable this.workingDirectory = workingDirectory this.args.add(0, request.executableAbsolutePath) - when (configurables.target) { - KonanTarget.LINUX_MIPS32, - KonanTarget.LINUX_MIPSEL32 -> { - // This is to workaround an endianess issue. - // See https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=731082 for details. - this.args.addAll(0, listOf("$absoluteTargetSysRoot/lib/ld.so.1", "--inhibit-cache")) - } - else -> Unit - } // TODO: Move these to konan.properties when when it will be possible // to represent absolute path there. this.args.addAll(0, listOf("-L", absoluteTargetSysRoot)) }) } -} \ No newline at end of file +} diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropTest.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropTest.kt index 0c677f05918..1e10b42ff1f 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropTest.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/AbstractNativeCInteropTest.kt @@ -127,30 +127,23 @@ abstract class AbstractNativeCInteropTest : AbstractNativeCInteropBaseTest() { KonanTarget.ANDROID_ARM64 -> "ARM64" KonanTarget.ANDROID_X64 -> "X64" KonanTarget.ANDROID_X86 -> "CPointerByteVar" - KonanTarget.IOS_ARM32 -> "COpaquePointer" KonanTarget.IOS_ARM64 -> "CPointerByteVar" KonanTarget.IOS_SIMULATOR_ARM64 -> "CPointerByteVar" KonanTarget.IOS_X64 -> "X64" KonanTarget.LINUX_ARM32_HFP -> "ARM32" KonanTarget.LINUX_ARM64 -> "ARM64" - KonanTarget.LINUX_MIPS32 -> "COpaquePointer" - KonanTarget.LINUX_MIPSEL32 -> "COpaquePointer" KonanTarget.LINUX_X64 -> "X64" KonanTarget.MACOS_ARM64 -> "CPointerByteVar" KonanTarget.MACOS_X64 -> "X64" KonanTarget.MINGW_X64 -> "CPointerByteVar" - KonanTarget.MINGW_X86 -> "CPointerByteVar" KonanTarget.TVOS_ARM64 -> "CPointerByteVar" KonanTarget.TVOS_SIMULATOR_ARM64 -> "CPointerByteVar" KonanTarget.TVOS_X64 -> "X64" - KonanTarget.WASM32 -> "COpaquePointer" KonanTarget.WATCHOS_ARM32 -> "CPointerByteVar" KonanTarget.WATCHOS_ARM64 -> "CPointerByteVar" KonanTarget.WATCHOS_DEVICE_ARM64 -> "CPointerByteVar" KonanTarget.WATCHOS_SIMULATOR_ARM64 -> "CPointerByteVar" KonanTarget.WATCHOS_X64 -> "X64" - KonanTarget.WATCHOS_X86 -> "CPointerByteVar" - is KonanTarget.ZEPHYR -> "COpaquePointer" } return testPathFull.resolve("contents.gold.${goldenFilePart}.txt") } @@ -172,4 +165,3 @@ internal fun muteCInteropTestIfNecessary(defFile: File, target: KonanTarget) { } } //Assumptions.assumeFalse(defHasObjC && !targets.testTarget.family.isAppleFamily) - diff --git a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/util/CompressedNames.kt b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/util/CompressedNames.kt index 1724f68ff18..dd6a35a03e0 100644 --- a/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/util/CompressedNames.kt +++ b/native/native.tests/tests/org/jetbrains/kotlin/konan/test/blackbox/support/util/CompressedNames.kt @@ -30,8 +30,6 @@ internal val Family.compressedName: Char Family.LINUX -> 'l' Family.MINGW -> 'm' Family.ANDROID -> 'a' - Family.WASM -> 'j' // because 'w', 'a' and 'm' are already occupied - Family.ZEPHYR -> 'z' } internal val Architecture.compressedName: String @@ -40,9 +38,6 @@ internal val Architecture.compressedName: String Architecture.X86 -> "x86" Architecture.ARM64 -> "a64" Architecture.ARM32 -> "a32" - Architecture.MIPS32 -> "m32" - Architecture.MIPSEL32 -> "e32" - Architecture.WASM32 -> "w32" } internal val Class<*>.compressedSimpleName: String diff --git a/native/utils/src/org/jetbrains/kotlin/konan/target/ClangArgs.kt b/native/utils/src/org/jetbrains/kotlin/konan/target/ClangArgs.kt index f8ae29f88af..3fd27e68467 100644 --- a/native/utils/src/org/jetbrains/kotlin/konan/target/ClangArgs.kt +++ b/native/utils/src/org/jetbrains/kotlin/konan/target/ClangArgs.kt @@ -169,7 +169,7 @@ sealed class ClangArgs( "-mfpu=vfp", "-mfloat-abi=hard" ) - KonanTarget.IOS_ARM32, KonanTarget.WATCHOS_ARM32 -> listOf( + KonanTarget.WATCHOS_ARM32 -> listOf( // Force generation of ARM instruction set instead of Thumb-2. // It allows LLVM ARM backend to encode bigger offsets in BL instruction, // thus allowing to generate a slightly bigger binaries. @@ -191,38 +191,6 @@ sealed class ClangArgs( ) } - // By default WASM target forces `hidden` visibility which causes linkage problems. - KonanTarget.WASM32 -> listOf( - "-fno-rtti", - "-fno-exceptions", - "-fvisibility=default", - "-D_LIBCPP_ABI_VERSION=2", - "-D_LIBCPP_NO_EXCEPTIONS=1", - "-nostdinc", - "-Xclang", "-nobuiltininc", - "-Xclang", "-nostdsysteminc", - "-Xclang", "-isystem$absoluteTargetSysRoot/include/libcxx", - "-Xclang", "-isystem$absoluteTargetSysRoot/lib/libcxxabi/include", - "-Xclang", "-isystem$absoluteTargetSysRoot/include/compat", - "-Xclang", "-isystem$absoluteTargetSysRoot/include/libc" - ) - - is KonanTarget.ZEPHYR -> listOf( - "-fno-rtti", - "-fno-exceptions", - "-fno-asynchronous-unwind-tables", - "-fno-pie", - "-fno-pic", - "-fshort-enums", - "-nostdinc", - // TODO: make it a libGcc property? - // We need to get rid of wasm sysroot first. - "-isystem ${configurables.targetToolchain}/../lib/gcc/arm-none-eabi/7.2.1/include", - "-isystem ${configurables.targetToolchain}/../lib/gcc/arm-none-eabi/7.2.1/include-fixed", - "-isystem$absoluteTargetSysRoot/include/libcxx", - "-isystem$absoluteTargetSysRoot/include/libc" - ) + (configurables as ZephyrConfigurables).constructClangArgs() - else -> emptyList() } @@ -314,4 +282,3 @@ sealed class ClangArgs( */ class Native(configurables: Configurables) : ClangArgs(configurables, forJni = false) } - diff --git a/native/utils/src/org/jetbrains/kotlin/konan/target/ConfigurablesImpl.kt b/native/utils/src/org/jetbrains/kotlin/konan/target/ConfigurablesImpl.kt index af533f67ce0..293d3f8383a 100644 --- a/native/utils/src/org/jetbrains/kotlin/konan/target/ConfigurablesImpl.kt +++ b/native/utils/src/org/jetbrains/kotlin/konan/target/ConfigurablesImpl.kt @@ -28,13 +28,6 @@ class GccConfigurablesImpl(target: KonanTarget, properties: Properties, dependen class AndroidConfigurablesImpl(target: KonanTarget, properties: Properties, dependenciesRoot: String?, progressCallback: ProgressCallback) : AndroidConfigurables, KonanPropertiesLoader(target, properties, dependenciesRoot, progressCallback = progressCallback) -class WasmConfigurablesImpl(target: KonanTarget, properties: Properties, dependenciesRoot: String?, progressCallback: ProgressCallback) : WasmConfigurables, - KonanPropertiesLoader(target, properties, dependenciesRoot, progressCallback = progressCallback) - -class ZephyrConfigurablesImpl(target: KonanTarget, properties: Properties, dependenciesRoot: String?, progressCallback: ProgressCallback) : ZephyrConfigurables, - KonanPropertiesLoader(target, properties, dependenciesRoot, progressCallback = progressCallback) - - fun loadConfigurables( target: KonanTarget, properties: Properties, @@ -50,9 +43,4 @@ fun loadConfigurables( Family.ANDROID -> AndroidConfigurablesImpl(target, properties, dependenciesRoot, progressCallback) Family.MINGW -> MingwConfigurablesImpl(target, properties, dependenciesRoot, progressCallback) - - Family.WASM -> WasmConfigurablesImpl(target, properties, dependenciesRoot, progressCallback) - - Family.ZEPHYR -> ZephyrConfigurablesImpl(target, properties, dependenciesRoot, progressCallback) } - diff --git a/native/utils/src/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt b/native/utils/src/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt index 8edd2e9de58..eb6fa4b8fb7 100644 --- a/native/utils/src/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt +++ b/native/utils/src/org/jetbrains/kotlin/konan/target/KonanTargetExtenstions.kt @@ -19,7 +19,6 @@ fun KonanTarget.binaryFormat() = when (family) { Family.ANDROID -> BinaryFormat.ELF Family.LINUX -> BinaryFormat.ELF Family.MINGW -> BinaryFormat.PE_COFF - Family.WASM, Family.ZEPHYR -> null } fun KonanTarget.pointerBits() = when (architecture) { @@ -27,15 +26,11 @@ fun KonanTarget.pointerBits() = when (architecture) { Architecture.X86 -> 32 Architecture.ARM64 -> if (this == KonanTarget.WATCHOS_ARM64) 32 else 64 Architecture.ARM32 -> 32 - Architecture.MIPS32 -> 32 - Architecture.MIPSEL32 -> 32 - Architecture.WASM32 -> 32 } fun KonanTarget.supportsMimallocAllocator(): Boolean = when(this) { is KonanTarget.LINUX_X64 -> true - is KonanTarget.MINGW_X86 -> true is KonanTarget.MINGW_X64 -> true is KonanTarget.MACOS_X64 -> true is KonanTarget.MACOS_ARM64 -> true @@ -43,26 +38,19 @@ fun KonanTarget.supportsMimallocAllocator(): Boolean = is KonanTarget.LINUX_ARM32_HFP -> true is KonanTarget.ANDROID_X64 -> true is KonanTarget.ANDROID_ARM64 -> true - is KonanTarget.IOS_ARM32 -> true is KonanTarget.IOS_ARM64 -> true is KonanTarget.IOS_X64 -> true is KonanTarget.IOS_SIMULATOR_ARM64 -> true is KonanTarget.WATCHOS_ARM32, is KonanTarget.WATCHOS_ARM64, - is KonanTarget.WATCHOS_SIMULATOR_ARM64, is KonanTarget.WATCHOS_X64, is KonanTarget.WATCHOS_X86, + is KonanTarget.WATCHOS_SIMULATOR_ARM64, is KonanTarget.WATCHOS_X64, is KonanTarget.TVOS_ARM64, is KonanTarget.TVOS_SIMULATOR_ARM64, is KonanTarget.TVOS_X64, is KonanTarget.ANDROID_X86, is KonanTarget.ANDROID_ARM32 -> false // aren't tested. - is KonanTarget.LINUX_MIPS32, is KonanTarget.LINUX_MIPSEL32 -> false // need linking with libatomic. - is KonanTarget.WASM32, is KonanTarget.ZEPHYR -> false // likely not supported - // Funny thing is we can neither access WATCHOS_DEVICE_ARM64, nor omit it explicitly due to the - // build's quirks. Workaround by using else clause. - // TODO: Add explicit WATCHOS_DEVICE_ARM64 after compiler update. else -> false } fun KonanTarget.supportsLibBacktrace(): Boolean = this.family.isAppleFamily || - // MIPS architectures have issues, see KT-48949 - (this.family == Family.LINUX && this.architecture !in listOf(Architecture.MIPS32, Architecture.MIPSEL32)) || + this.family == Family.LINUX || this.family == Family.ANDROID // TODO: Add explicit WATCHOS_DEVICE_ARM64 after compiler update. @@ -70,10 +58,10 @@ fun KonanTarget.supportsCoreSymbolication(): Boolean = this in listOf( KonanTarget.MACOS_X64, KonanTarget.MACOS_ARM64, KonanTarget.IOS_X64, KonanTarget.IOS_SIMULATOR_ARM64, KonanTarget.TVOS_X64, KonanTarget.TVOS_SIMULATOR_ARM64, - KonanTarget.WATCHOS_X86, KonanTarget.WATCHOS_X64, KonanTarget.WATCHOS_SIMULATOR_ARM64 + KonanTarget.WATCHOS_X64, KonanTarget.WATCHOS_SIMULATOR_ARM64 ) -fun KonanTarget.supportsGccUnwind(): Boolean = family == Family.ANDROID || family == Family.LINUX || this is KonanTarget.MINGW_X86 +fun KonanTarget.supportsGccUnwind(): Boolean = family == Family.ANDROID || family == Family.LINUX // MINGW_X64 target does not support GCC unwind, since its sysroot contains libgcc version < 12 having misfeature, see KT-49240 fun KonanTarget.supportsWinAPIUnwind(): Boolean = this is KonanTarget.MINGW_X64 @@ -93,12 +81,7 @@ fun KonanTarget.supportsObjcInterop(): Boolean = family.isAppleFamily fun KonanTarget.hasFoundationFramework(): Boolean = family.isAppleFamily fun KonanTarget.hasUIKitFramework(): Boolean = family == Family.IOS || family == Family.TVOS fun KonanTarget.supports64BitMulOverflow(): Boolean = when (this) { - is KonanTarget.MINGW_X86 -> false is KonanTarget.LINUX_ARM32_HFP -> false - is KonanTarget.LINUX_MIPS32 -> false - is KonanTarget.LINUX_MIPSEL32 -> false - is KonanTarget.WASM32 -> false - is KonanTarget.ZEPHYR -> false is KonanTarget.ANDROID_ARM32 -> false is KonanTarget.ANDROID_X86 -> false else -> true @@ -106,7 +89,6 @@ fun KonanTarget.supports64BitMulOverflow(): Boolean = when (this) { // TODO: Add explicit WATCHOS_DEVICE_ARM64 after compiler update. fun KonanTarget.supportsIosCrashLog(): Boolean = when (this) { - KonanTarget.IOS_ARM32 -> true KonanTarget.IOS_ARM64 -> true KonanTarget.WATCHOS_ARM32 -> true KonanTarget.WATCHOS_ARM64 -> true @@ -122,12 +104,12 @@ fun KonanTarget.supportsIosCrashLog(): Boolean = when (this) { * TODO: reconsider once target MIPS can do proper 64-bit load/store/CAS. */ fun KonanTarget.supports64BitAtomics(): Boolean = when (architecture) { - Architecture.ARM32, Architecture.WASM32, Architecture.MIPS32, Architecture.MIPSEL32 -> false + Architecture.ARM32 -> false Architecture.X86, Architecture.ARM64, Architecture.X64 -> true -} && this != KonanTarget.WATCHOS_ARM64 && this != KonanTarget.WATCHOS_X86 +} && this != KonanTarget.WATCHOS_ARM64 fun KonanTarget.supportsUnalignedAccess(): Boolean = when (architecture) { - Architecture.ARM32, Architecture.WASM32, Architecture.MIPS32, Architecture.MIPSEL32 -> false + Architecture.ARM32 -> false Architecture.X86, Architecture.ARM64, Architecture.X64 -> true } && this != KonanTarget.WATCHOS_ARM64 @@ -151,11 +133,11 @@ fun KonanTarget.supportedSanitizers(): List = fun KonanTarget.hasAddressDependencyInMemoryModel(): Boolean = when (this.architecture) { Architecture.X86, Architecture.X64, Architecture.ARM32, Architecture.ARM64 -> true - Architecture.MIPS32, Architecture.MIPSEL32, Architecture.WASM32 -> false + Architecture.MIPS32, Architecture.MIPSEL32 -> false } val KonanTarget.supportsGrandCentralDispatch get() = family.isAppleFamily val KonanTarget.supportsSignposts - get() = family.isAppleFamily \ No newline at end of file + get() = family.isAppleFamily