From c3d5a88e52a8fd9adadf17513ebec0f88f02a410 Mon Sep 17 00:00:00 2001 From: Alexander Udalov Date: Tue, 14 Jan 2020 20:29:43 +0100 Subject: [PATCH] Add -Xno-use-ir to compiler modules where JVM IR currently fails This option has no effect on the production code. But in a custom scenario of a local bootstrap, where the compiler is replaced with the one where JVM IR backend is enabled by default, this option allows to switch back to the old backend. All of these arguments (except the one for compiling experimental coroutines) are supposed to go away as soon as we fix related problems in the JVM IR backend. --- compiler/daemon/daemon-common-new/build.gradle.kts | 3 +++ compiler/fir/java/build.gradle.kts | 5 ++++- compiler/frontend/build.gradle.kts | 3 +++ compiler/ir/ir.tree/build.gradle.kts | 2 ++ idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts | 5 ++++- libraries/stdlib/jvm/build.gradle | 1 + plugins/kapt3/kapt3-cli/build.gradle.kts | 5 ++++- 7 files changed, 21 insertions(+), 3 deletions(-) diff --git a/compiler/daemon/daemon-common-new/build.gradle.kts b/compiler/daemon/daemon-common-new/build.gradle.kts index c700ced8ab2..8b8cfd7a311 100644 --- a/compiler/daemon/daemon-common-new/build.gradle.kts +++ b/compiler/daemon/daemon-common-new/build.gradle.kts @@ -42,3 +42,6 @@ sourceSets { "main" { projectDefault() } "test" {} } + +val compileKotlin: org.jetbrains.kotlin.gradle.tasks.KotlinCompile by tasks +compileKotlin.kotlinOptions.freeCompilerArgs += "-Xno-use-ir" diff --git a/compiler/fir/java/build.gradle.kts b/compiler/fir/java/build.gradle.kts index 8a591a80cff..efb9c00423c 100644 --- a/compiler/fir/java/build.gradle.kts +++ b/compiler/fir/java/build.gradle.kts @@ -17,4 +17,7 @@ dependencies { sourceSets { "main" { projectDefault() } "test" {} -} \ No newline at end of file +} + +val compileKotlin: org.jetbrains.kotlin.gradle.tasks.KotlinCompile by tasks +compileKotlin.kotlinOptions.freeCompilerArgs += "-Xno-use-ir" diff --git a/compiler/frontend/build.gradle.kts b/compiler/frontend/build.gradle.kts index 170d6e3e2a2..e82569a727d 100644 --- a/compiler/frontend/build.gradle.kts +++ b/compiler/frontend/build.gradle.kts @@ -23,3 +23,6 @@ sourceSets { "main" { projectDefault() } "test" {} } + +val compileKotlin: org.jetbrains.kotlin.gradle.tasks.KotlinCompile by tasks +compileKotlin.kotlinOptions.freeCompilerArgs += "-Xno-use-ir" diff --git a/compiler/ir/ir.tree/build.gradle.kts b/compiler/ir/ir.tree/build.gradle.kts index e7a429a890b..c3d42ad06e9 100644 --- a/compiler/ir/ir.tree/build.gradle.kts +++ b/compiler/ir/ir.tree/build.gradle.kts @@ -15,3 +15,5 @@ sourceSets { "test" {} } +val compileKotlin: org.jetbrains.kotlin.gradle.tasks.KotlinCompile by tasks +compileKotlin.kotlinOptions.freeCompilerArgs += "-Xno-use-ir" diff --git a/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts b/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts index b146b8079de..5609c56f317 100644 --- a/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts +++ b/idea/jvm-debugger/jvm-debugger-sequence/build.gradle.kts @@ -22,4 +22,7 @@ dependencies { sourceSets { "main" { projectDefault() } "test" { none() } -} \ No newline at end of file +} + +val compileKotlin: org.jetbrains.kotlin.gradle.tasks.KotlinCompile by tasks +compileKotlin.kotlinOptions.freeCompilerArgs += "-Xno-use-ir" diff --git a/libraries/stdlib/jvm/build.gradle b/libraries/stdlib/jvm/build.gradle index f833fb0d69e..4efc9ba681e 100644 --- a/libraries/stdlib/jvm/build.gradle +++ b/libraries/stdlib/jvm/build.gradle @@ -194,6 +194,7 @@ compileCoroutinesExperimentalKotlin { "-Xuse-experimental=kotlin.Experimental", "-Xcoroutines=enable", "-XXLanguage:-ReleaseCoroutines", + "-Xno-use-ir", "-module-name", "kotlin-stdlib-coroutines" ] } diff --git a/plugins/kapt3/kapt3-cli/build.gradle.kts b/plugins/kapt3/kapt3-cli/build.gradle.kts index f3b8a6b6610..7ace921ba13 100644 --- a/plugins/kapt3/kapt3-cli/build.gradle.kts +++ b/plugins/kapt3/kapt3-cli/build.gradle.kts @@ -23,4 +23,7 @@ testsJar() projectTest { workingDir = rootDir dependsOn(":dist") -} \ No newline at end of file +} + +val compileKotlin: org.jetbrains.kotlin.gradle.tasks.KotlinCompile by tasks +compileKotlin.kotlinOptions.freeCompilerArgs += "-Xno-use-ir"