From 52068e11eef9f1a44c6a281bfd6fa235feafa6d0 Mon Sep 17 00:00:00 2001 From: Vladimir Sukharev Date: Fri, 14 Jul 2023 15:23:27 +0000 Subject: [PATCH] [K/N] Pass USE_FIR config setting to splitted first stage, and not to second stage Merge-request: KT-MR-11084 Merged-by: Vladimir Sukharev --- .../cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt | 3 +++ .../src/org/jetbrains/kotlin/backend/konan/KonanDriver.kt | 2 ++ 2 files changed, 5 insertions(+) diff --git a/kotlin-native/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt b/kotlin-native/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt index 5f995b9a0cc..b59a1ab69ad 100644 --- a/kotlin-native/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt +++ b/kotlin-native/backend.native/cli.bc/src/org/jetbrains/kotlin/cli/bc/K2Native.kt @@ -137,6 +137,9 @@ class K2Native : CLICompiler() { spawnedConfiguration.setupCommonArguments(spawnedArguments, this@K2Native::createMetadataVersion) spawnedConfiguration.setupFromArguments(spawnedArguments) spawnedConfiguration.setupPartialLinkageConfig(configuration.partialLinkageConfig) + configuration.get(CommonConfigurationKeys.USE_FIR)?.let { + spawnedConfiguration.put(CommonConfigurationKeys.USE_FIR, it) + } configuration.get(CommonConfigurationKeys.LANGUAGE_VERSION_SETTINGS)?.let { spawnedConfiguration.put(CommonConfigurationKeys.LANGUAGE_VERSION_SETTINGS, it) } diff --git a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanDriver.kt b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanDriver.kt index 8048d8e784a..57896646187 100644 --- a/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanDriver.kt +++ b/kotlin-native/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/KonanDriver.kt @@ -166,6 +166,8 @@ class KonanDriver( // For the second stage, remove already compiled source files from the configuration. configuration.put(CLIConfigurationKeys.CONTENT_ROOTS, listOf()) + // Frontend version must not be passed to 2nd stage (same as Gradle plugin does when calling CLI compiler), since there are no sources anymore + configuration.put(CommonConfigurationKeys.USE_FIR, false) // For the second stage, provide just compiled intermediate KLib as "-Xinclude=" param. require(intermediateKLib.exists) { "Intermediate KLib $intermediateKLib must have been created by successful first compilation stage" } configuration.put(KonanConfigKeys.INCLUDED_LIBRARIES,