Commit Graph

179 Commits

Author SHA1 Message Date
Mikhail Glukhikh eeadd8588d Drop CommonCompilerArguments.optInDeprecated
On the way to KT-22956
2022-01-27 11:48:22 +00:00
Mikhail Glukhikh ad0d0ca47f Drop redundant Suppress("RemoveExplicitTypeArguments") 2022-01-26 12:19:55 +00:00
Dmitriy Dolovov 02d74fbd87 [Native][tests] Pass "free compiler args" to static cache compilations
^KT-50775
2022-01-26 13:36:27 +03:00
Dmitriy Dolovov 33a09fbb77 [Native][tests] Support all cache modes in KLIB ABI tests
^KT-50775
2022-01-26 13:36:26 +03:00
Dmitriy Dolovov 008734f146 [Native][tests] Use fewer number of static cache directories
^KT-50775
2022-01-26 13:36:26 +03:00
Dmitriy Dolovov 255f97b771 [Native][tests] Support three modes for KLIB caches
^KT-50775
2022-01-26 13:36:26 +03:00
Dmitriy Dolovov 4b660d3503 [Native][tests] Load custom cache compiler args from konan.properties
^KT-50775
2022-01-26 13:36:26 +03:00
Dmitriy Dolovov f2bd2f3e7d [Native][tests] Keep KLIB dirs in KotlinNativeHome settings
^KT-50775
2022-01-26 13:36:26 +03:00
Dmitriy Dolovov 33ca8b528c [Native][tests] Support static cache as a separate compilation and dependency type
^KT-50775
2022-01-26 13:36:25 +03:00
Dmitriy Dolovov e03bfaee0b Minor. Comments fixed 2022-01-26 13:36:25 +03:00
Dmitriy Dolovov ca27eac254 [Native][tests] Refactoring: Use typed compilations and artifacts
^KT-50775
2022-01-26 13:36:25 +03:00
Dmitriy Dolovov 7df68af664 [IR, Native] KLIB ABI tests: backup but don't overwrite artifacts
^KT-50775
2022-01-26 13:36:25 +03:00
Dmitriy Dolovov 3648ae222c [IR, Native] KLIB ABI tests: add support to new test infrastructure
^KT-50775
2022-01-26 13:36:25 +03:00
Alexander Udalov f40a0ca704 JVM IR: avoid unnecessary toIrBasedKotlinType in ExpressionCodegen
Result of calling `ExpressionCodegen.gen` was used only in two call
sites in the inliner. In all other call sites, we were doing unnecessary
work (and sometimes were even failing) by trying to construct a
KotlinType instance out from an IrType.

Note that even though the code from KT-50617 no longer fails to compile,
the underlying problem is still not solved, since the IrType for foo's
dispatch receiver is constructed incorrectly. The reason is that
SymbolTable links everything by IdSignature, which is identical for
classes with the same FQ name.

 #KT-50617 Fixed
2022-01-20 16:05:42 +01:00
Ilmir Usmanov b794b0f1be Check if there is bridge by signatures instead of IR
#KT-50649 Fixed
2022-01-18 16:57:00 +03:00
Evgeniy.Zhelenskiy 7595f798e1 [JVM] Introduce MF Value Classes to frontend 2022-01-14 13:51:55 +00:00
Pavel Punegov 6f323dd33a [K/N][test] Ignore stdlib test in new infra 2022-01-14 08:15:09 +00:00
Dmitry Petrov d184babda6 JVM_IR fix cast to non-null primitive type (FIR bootstrap issue) 2022-01-13 12:47:00 +00:00
Dmitriy Dolovov 8ea6221932 Minor: Update comment 2022-01-11 22:05:01 +03:00
Pavel Punegov 276dcfb4a7 [K/N][test] Remove tests from excludes. Tests were excluded separately 2022-01-10 09:01:06 +00:00
Dmitry Petrov 4ad6cfcf53 JVM_IR fix cast to not-null type
We can't rely on argument type nullability here, because it still can
hold an uninitialized value on JVM.

KT-50577 KT-35272 KT-27427
2021-12-30 13:41:17 +03:00
Alexander Udalov d5372521f1 Add tests for obsolete issues
#KT-12126
 #KT-12189
 #KT-23628
 #KT-24209
 #KT-34338
 #KT-47279
 #KT-48498
2021-12-29 17:07:03 +00:00
Dmitry Petrov 5946242d75 JVM_IR fix special bridges in mixed Java/Kotlin hierarchies
KT-50257 KT-50476
2021-12-29 13:29:19 +00:00
Dmitriy Dolovov 3f056bc086 [Native][tests] Gradle property kotlin.internal.native.test.compilerClasspath: when not specified compute the default value based on kotlin.internal.native.test.nativeHome property, or fallback to JAR artifact of :kotlin-native-compiler-embeddable project when kotlin.internal.native.test.nativeHome not specified. 2021-12-29 16:28:12 +03:00
Dmitriy Dolovov 52c1a339c4 [Native][tests] Simplify CacheKind.WithStaticCache setting 2021-12-29 16:27:39 +03:00
Dmitriy Dolovov c47f0f16d2 [Native][tests] Gradle property: kotlin.internal.native.test.target 2021-12-29 16:27:39 +03:00
Dmitriy Dolovov 1b241e04b2 [Native][tests] Extend logged environment variables and JVM properties 2021-12-29 16:27:39 +03:00
Dmitriy Dolovov dae71e3112 [Native][tests] Fix globs expansion on Windows 2021-12-29 16:27:38 +03:00
Dmitriy Dolovov af4900e08f [Native][tests] Fix: Pass missing properties to K/N compiler JVM process 2021-12-29 16:27:38 +03:00
Dmitriy Dolovov 3c6605fde5 [Native][tests] Depend on project(":kotlin-native-compiler-embeddable") only when K/N compiler classpath is not explicitly specified as Gradle property 2021-12-29 16:27:38 +03:00
Dmitriy Dolovov d1083c51e2 [Native][tests] Depend on :kotlin-native:dist only when K/N path is not explicitly specified as Gradle property 2021-12-29 16:27:38 +03:00
Dmitriy Dolovov 8b8eb23b96 [Native][tests] Minor. Fix typo 2021-12-29 16:27:38 +03:00
Dmitriy Dolovov a338cc31cb [Native][tests] Gradle property: GCType 2021-12-29 16:27:37 +03:00
Dmitriy Dolovov 2b43dce1a5 [Native][tests] Gradle property: ThreadStateChecker 2021-12-29 16:27:37 +03:00
Dmitriy Dolovov 9dbb844742 [Native][tests] Gradle property: MemoryModel 2021-12-29 16:27:37 +03:00
Dmitriy Dolovov dbd7a05c7e [Native][tests] Gradle property: OptimizationMode 2021-12-29 16:27:37 +03:00
Dmitriy Dolovov 46f2c6ee10 [Native][tests] Remove test grouping tasks: dailyTest & fullTest
Need to rethink test grouping tasks before returning them back.
2021-12-29 16:27:37 +03:00
Ivan Kylchik 6fc56477bf Drop all tests that disable features for language version less than 3 2021-12-28 20:08:56 +03:00
Ilmir Usmanov 549ea1a3b9 If fun interface methods are already mangled, do not mangle them twice
There are two possible scenarios, when fun interface method with inline
class parameter can be compiled.

First is when we compile fun interface itself before SAM adapter. In
that case, fun interface is lowered before we lower SAM adapter. Thus,
its method is mangled and mangling in the second time is an error.

Second is when we compile SAM adapter before the fun interface. In that
case, fun interface is not lowered, and we have to mangle the method.

The only way to distinguish there two cases I can think of is to check
whether the overridden method is already mangled, in other words, check,
whether the overridden method's suffix is doubled.

 #KT-48499: Fixed
2021-12-28 17:35:12 +01:00
Evgeniy.Zhelenskiy 610429a278 [Tests] Move non-value class test to the corresponding folder 2021-12-24 00:26:18 +00:00
Dmitry Petrov 915e949dbc JVM KT-49092 fix stack corruption in redundant boxing elimination 2021-12-22 05:32:26 +00:00
Dmitry Petrov 8905586cbb IR KT-50258 rewrite enum-based 'when' more carefully 2021-12-21 06:06:45 +00:00
Mikhail Glukhikh c12d1930b4 Fix FIR bootstrap (related to KT-49925) 2021-12-21 00:02:12 +03:00
Alexander Korepanov b82c306530 [JS IR] Add deep copying for callable reference
Perform a deep copy of callable reference adapter on inline lowering

^KT-49844 Fixed
2021-12-20 14:02:11 +00:00
Dmitriy Dolovov 56e64d78e3 [Native][tests] Regenerate test classes 2021-12-20 12:35:49 +03:00
Dmitriy Dolovov c3a422105d [Native][tests] Log JUnit5 parallel test execution parameters in Gradle build 2021-12-20 12:35:48 +03:00
Dmitriy Dolovov cd11aeceac [Native][tests] Disable JVM C2 compiler at host machines with >4 CPU cores 2021-12-20 12:35:48 +03:00
Dmitriy Dolovov 37d866c95a [Native][tests] Fix parallel test execution 2021-12-20 12:35:48 +03:00
Dmitriy Dolovov f145076245 [Native][tests] Fail grouping Gradle tasks if they are launched with command-line test filters 2021-12-20 12:35:48 +03:00
Dmitriy Dolovov 341e017261 [Native][tests] Don't treat any compiler test task as up-to-date
There are number of problems with up-to-date checks in tests, leading to
a test binary not being rebuilt or rerun when a developer expects it to.

Things became worse after updating to Gradle 7+:
test binary run tasks are considered up-to-date if the test data
has been changed, even after clean.

Even before Gradle 7+, we've observed other similar undesirable effects:
for example, if the compiler has been changed, tasks building
test binaries are still up-to-date.

So it was decided to workaround all possible similar problems by forcing
all test tasks in the :native:native.tests project to be not up-to-date.

This project should contain only test tasks, so this workaround
seems pretty natural -- it is just "tests aren't up-to-date".
2021-12-20 12:35:48 +03:00