Commit Graph

1186 Commits

Author SHA1 Message Date
Pavel Kunyavskiy 8f4c6eae2f [K/N] Get rid of ArrayAsList class, use .asList() instead
^KT-57137
2023-03-15 18:03:14 +00:00
Pavel Kunyavskiy 62fb3df7f0 [K/N] Disable scope initialization on constant access
^KT-57098
2023-03-15 09:03:19 +00:00
Alexander Shabalin e6297f92fa [K/N] Issue deprecation warning when using legacy MM
Merge-request: KT-MR-9091
Merged-by: Alexander Shabalin <Alexander.Shabalin@jetbrains.com>
2023-03-15 08:22:37 +00:00
Vladimir Sukharev 5bd0a1a0ba Disable some tests due to open issues and incompatibility with K1/MPP
Merge-request: KT-MR-9206
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-03-15 06:55:27 +00:00
Ivan Kylchik ab2c3572ab Drop all usages of inlineFunctionSymbol in IrReturnableBlock 2023-03-14 20:47:41 +00:00
Ivan Kylchik ef78196cbc Replace all usages of inlineFunctionSymbol with inlineFunction 2023-03-14 20:47:34 +00:00
Svyatoslav Scherbina ba2e46758d Fix kotlin-native/backend.native/tests/samples after 82524fd
Enable language feature for these tests, because some code relies
on implicit integer coercion there
2023-03-14 19:26:44 +00:00
Pavel Kunyavskiy dc2e072af2 [K/N] Make exception handling in initializers more consistent with jvm
^KT-57091
2023-03-14 12:59:14 +00:00
Pavel Kunyavskiy 0506d39d8a [K/N] Support ignoring test with legacy mm 2023-03-14 12:59:13 +00:00
Pavel Kunyavskiy 854506fa9e [K/N] refactor all function calls to use LlvmCallable machinery 2023-03-14 09:50:00 +00:00
Svyatoslav Scherbina 8315eeaf92 [K2/N] adjust interop_objc_direct test for K2 because of ^KT-55902
K2 doesn't support implicit integer coercion for cinterop yet.
2023-03-13 13:39:51 +00:00
Svyatoslav Scherbina 950c2baa34 [K2/N] ignore library_ir_provider_mismatch test because of ^KT-56855
K2 doesn't support one-stage compilation mode for Native yet.
2023-03-13 13:39:51 +00:00
Svyatoslav Scherbina 424fd19fb4 [K2/N] ignore interop_kt40426 test because of ^KT-56030
K2 doesn't support subclassing Obj-C classes with methods differing only
by parameter names yet.
2023-03-13 13:39:50 +00:00
Pavel Punegov 752d6505e9 [K/N][test] Opt-in ImplicitSignedToUnsignedIntegerConversion in tests
Add option to allow such conversions, see ^KT-56583

Merge-request: KT-MR-9160
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-03-13 13:00:19 +00:00
Alexander Udalov d96112b944 Remove dependency of fir2ir/fir.entrypoint on psi2ir 2023-03-10 17:49:35 +00:00
Svyatoslav Scherbina 60b8d2b3d9 [K/N] Disable more failing tests on mips, target is deprecated 2023-03-10 13:25:53 +00:00
Nikolay Krasko 57934a6870 Revert "Revert "[K2/N] KT-57026, KT-57208: Adjust Native & JS test infrastructures for MPP testing""
This reverts commit c0c692844e.
2023-03-10 14:24:49 +01:00
Nikolay Krasko c0c692844e Revert "[K2/N] KT-57026, KT-57208: Adjust Native & JS test infrastructures for MPP testing"
This reverts commit 6964121c15.
2023-03-10 13:14:10 +00:00
Pavel Punegov aed6272107 [K/N] Merge :kotlin-native-shared with :native:kotlin-native-utils
* Code was moved to utils, but sources are included to the shared
until bootstrap advance.
* Fixed dependencies and set API & LV to 1.4 for the modules used with
Gradle.

Merge-request: KT-MR-9122
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
2023-03-10 12:57:35 +00:00
Igor Chevdar e5523c196e [K/N][codegen] Removed a thread unsafe optimization
It's not that needed anyway (according to the profile logs).
2023-03-10 11:05:55 +00:00
Igor Chevdar ea7c851748 [K/N][IR][codegen] Fixed a number of thread safety problems 2023-03-10 11:05:55 +00:00
Igor Chevdar f442936320 [K/N] Build per-file caches in parallel 2023-03-10 11:05:54 +00:00
Sergey Bogolepov af1f3a102b [K/N] Disable split_compilation_pipeline for MinGW 2023-03-10 09:31:41 +00:00
Sergey Bogolepov 236cf2b9ca [K/N] Disable split_compilation_pipeline in two-stage mode
There is no way to pass flags only to the second stage in tests.
2023-03-10 09:31:41 +00:00
Sergey Bogolepov bba7e9e395 [K/N] Prohibit -Xcompile-from-bitcode when producing library 2023-03-10 09:31:40 +00:00
Vladimir Sukharev 6964121c15 [K2/N] KT-57026, KT-57208: Adjust Native & JS test infrastructures for MPP testing
Merge-request: KT-MR-9081
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-03-09 18:56:30 +00:00
Igor Chevdar 7f0a4ad737 [K/N][IR] Reworked saving inline function bodies for cross-file inlining
#KT-57053 Fixed
 #KT-57029 Fixed
2023-03-08 06:48:52 +00:00
Vladimir Sukharev 8dc6ae41f6 Exclude 3 KonanDriverTest testcases from K2 testing due to KT-56855
Merge-request: KT-MR-9114
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-03-07 14:05:12 +00:00
Pavel Kunyavskiy f2c1145462 [K/N] Disable failing test on mips, target is deprecated 2023-03-06 11:56:10 +00:00
Sergey Bogolepov ca7d1d0194 [K/N] Minor -Xcompile-from-bitcode enhancements 2023-03-04 16:13:43 +00:00
Johan Bay 349a6b6e82 Introduce flag for bitcode to native compilation
This enables splitting the compilation pipeline into multiple
invocations of the compiler.
2023-03-04 16:13:42 +00:00
Sergej Jaskiewicz f40278c036 An option to allow out-of-scope type parameters in IrManglerComputer
In the lowered IR there are often references to type parameters whose
containers are not in the current scope. This is incorrect semantically,
but it works in practice due to erasure, so when the mangler is used on
the lowered IR, we don't want to crash the compiler.
2023-03-03 22:08:57 +00:00
Vladimir Sukharev 31a16ba72c [K2/N] KT-56579 Enable fixed test mpp_optional_expectation
Merge-request: KT-MR-9063
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-03-03 08:41:19 +00:00
Gleb Lukianets fc96eb6d8d [KN] CInterop: __attribute__((objc_direct)) support
Merge-request: KT-MR-8828
Merged-by: Gleb Lukianets <Gleb.Lukianets@jetbrains.com>
2023-03-02 10:36:53 +00:00
Igor Chevdar a92c53daec [K/N][IR] Do not save local inline functions before closure building
#KT-56965 Fixed
2023-03-01 08:09:52 +00:00
Pavel Punegov 71eaa43d95 [K/N][build] Move Native plugin to build-tools
This is K/N only plugin that shouldn't be
in the buildSrc of the whole Kotlin project
2023-02-27 10:48:27 +00:00
Pavel Punegov 395e3e0f81 [K/N][build] Composite build with build.tools-conventions plugin
Adds convention plugin instead of sources inclusion
inside the buildSrc, effectively reducing the amount
of the code to be compiled in buildSrc.

Merge-request: KT-MR-8898
2023-02-27 10:48:26 +00:00
Igor Chevdar 0f384f5878 [K/N][IR] Workaround for off-scope type parameters
#KT-56500 Fixed
2023-02-23 15:32:25 +00:00
Vladimir Sukharev 7c9e567496 [K2/N] KT-56028: Enable and patch test interop_kt49034_objcclass
Merge-request: KT-MR-8942
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-02-23 13:08:33 +00:00
Svyatoslav Scherbina 22ee170f44 [K2/N] Prohibit single-stage compilation with language version 2.0
Kotlin/Native compiler can compile source files directly to a native
binary (e.g. an executable or a framework). This is the so-called
"single-stage" compilation mode. It is used only in the command-line
compiler, while Kotlin Gradle plugin always produces an intermediate
klib first, and then compiles it to a native binary ("two-stage"
compilation mode).

When running Kotlin/Native compiler with '-language-version 2.0' in the
single-stage compilation mode, it in fact doesn't use the new K2
frontend. This is misleading and error-prone.

To address this problem, the commit prohibits the single-stage
compilation with '-language-version 2.0'. This affects only the
command-line compiler, and shouldn't affect compilation with Gradle.

^KT-56855
2023-02-23 11:36:38 +00:00
Pavel Kunyavskiy b306ed53aa [K/N] Support Enum entries in objc export
^KT-53653
2023-02-23 10:49:25 +00:00
Pavel Kunyavskiy b4bd847345 [K/N] Refactor ObjcExportTest build script 2023-02-23 10:49:25 +00:00
Vladimir Dolzhenko 3e99807436 Add ability to provide specific AbsentDescriptorHandler
#EA-457188

Merge-request: KT-MR-8900
Merged-by: Vladimir Dolzhenko <Vladimir.Dolzhenko@jetbrains.com>
2023-02-22 12:44:46 +00:00
Dmitriy Novozhilov 79e4df72bf [CLI] Introduce utilities for creating FirSession hierarchy in CLI for all platforms
Also support session creation and compilation for HMPP projects

^KT-56209 Fixed
2023-02-17 11:08:51 +00:00
Dmitriy Novozhilov d4bb740a62 [CLI] Store information about HMPP module for source files 2023-02-17 11:08:50 +00:00
Svyatoslav Scherbina 72f9cdf49b Native: fix curl sample test
Don't publish libcurl to a local Maven repo, but consume it directly
as a project dependency.

Publishing appears to be fragile here, and the intention of the test
does not involve checking Gradle anyway.
2023-02-17 10:35:02 +00:00
Pavel Punegov cc258934c4 [K/N][build] Cleanup obsolete build tasks
* Remove obsolete reporting
* Remove old build tasks: BuildPusher and CollisionDetector
* Gradle build file cleanup
* Remove old wrappers

Merge-request: KT-MR-8788
Merged-by: Pavel Punegov <Pavel.Punegov@jetbrains.com>
(cherry picked from commit a9cae3fe87)
2023-02-16 11:56:34 +00:00
Igor Chevdar 564b40f05d [K/N] Fixed resolve order of compiler caches
#KT-56611 Fixed
2023-02-15 07:06:05 +00:00
Vladimir Sukharev 3124154aef [K2/N] Fix false negative interop_objc_kt55938 under K2
Merge-request: KT-MR-8817
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-02-14 20:32:45 +00:00
Vladimir Sukharev 255d4fa829 [K/N] Don't reuse irGet node in cleanerField tree
Merge-request: KT-MR-8831
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-02-14 20:31:13 +00:00