Report deprecation warning when -Xuse-old-backend is specified
#KT-48532
This commit is contained in:
@@ -212,13 +212,20 @@ fun CompilerConfiguration.configureAdvancedJvmOptions(arguments: K2JVMCompilerAr
|
||||
arguments.useIR && !useOldBackend
|
||||
}
|
||||
|
||||
if (arguments.useIR && arguments.useOldBackend) {
|
||||
if (arguments.useOldBackend) {
|
||||
messageCollector.report(
|
||||
STRONG_WARNING,
|
||||
"Both -Xuse-ir and -Xuse-old-backend are passed. This is an inconsistent configuration. " +
|
||||
"The compiler will use the ${if (useIR) "JVM IR" else "old JVM"} backend"
|
||||
"-Xuse-old-backend is deprecated and will be removed in a future release"
|
||||
)
|
||||
if (arguments.useIR) {
|
||||
messageCollector.report(
|
||||
STRONG_WARNING,
|
||||
"Both -Xuse-ir and -Xuse-old-backend are passed. This is an inconsistent configuration. " +
|
||||
"The compiler will use the ${if (useIR) "JVM IR" else "old JVM"} backend"
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
messageCollector.report(LOGGING, "Using ${if (useIR) "JVM IR" else "old JVM"} backend")
|
||||
|
||||
put(JVMConfigurationKeys.IR, useIR)
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
warning: -Xuse-old-backend is deprecated and will be removed in a future release
|
||||
error: -Xabi-stability=unstable is not supported in the old JVM backend
|
||||
COMPILATION_ERROR
|
||||
|
||||
@@ -1,2 +1,3 @@
|
||||
warning: -Xuse-old-backend is deprecated and will be removed in a future release
|
||||
warning: both -Xuse-ir and -Xuse-old-backend are passed. This is an inconsistent configuration. The compiler will use the old JVM backend
|
||||
OK
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
warning: -Xuse-old-backend is deprecated and will be removed in a future release
|
||||
compiler/testData/cli/jvm/classAndTraitClash.kt:3:1: error: duplicate JVM class name 'test/T1$DefaultImpls' generated from: `T1$DefaultImpls`, T1
|
||||
interface T1 {
|
||||
^
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
warning: -Xuse-old-backend is deprecated and will be removed in a future release
|
||||
compiler/testData/cli/jvm/suspendInFunInterfaceIrDisabled.kt:2:5: error: 'suspend' modifier is not allowed on a single abstract member
|
||||
suspend fun foo()
|
||||
^
|
||||
|
||||
Reference in New Issue
Block a user