Commit Graph

85213 Commits

Author SHA1 Message Date
Sergey Bogolepov c50ae1ffe6 [K/N] Don't check for MSVC on Linux and macOS hosts 2021-08-23 16:01:36 +00:00
Sergey Bogolepov 1381221ef8 [K/N] Use smaller mingw-w64-i686 toolchain as well 2021-08-23 16:01:36 +00:00
Sergey Bogolepov 1315fdaf56 [K/N] Proper MinGW cross-compilation support 2021-08-23 16:01:36 +00:00
Sergey Bogolepov 6953d29922 [K/N] Use smaller mingw-w64-x86_64 toolchain
We don't need LLVM components there anymore because they live in
a separate dependency now.
2021-08-23 16:01:35 +00:00
Ilya Chernikov caa44e413d Abstract FIR cli pipeline from core environment and related entities 2021-08-23 16:50:40 +03:00
Dmitriy Novozhilov 40614507d3 [FE 1.0] Report warning about new IL operator resolve in initializers and default values
^KT-48361 Fixed
2021-08-23 16:20:41 +03:00
pyos a15a5aa429 JVM_IR: generate instance fields even when reification is needed
The inliner supports that, we just need to generate the reification
markers on GETFIELD to instance fields.
2021-08-23 14:27:51 +02:00
Ilmir Usmanov c01c356817 Do not extend LVT ranges during inplace arguments inlining
Otherwise, R8 does not transform kotlin-reflect, failing bootstrap.
Leaving end label the same is safe, since we do not remove labels during
transformation.
2021-08-23 11:51:30 +00:00
Mikhael Bogdanov 92e94a4068 Add JDK 17 test configuration 2021-08-23 13:48:35 +02:00
Dmitriy Novozhilov 27ac7dbf9a [Test] Unmute passing codegen tests 2021-08-23 14:29:12 +03:00
pyos 17afe1b546 Fail on redundant IGNORE_BACKEND directives, as before 2021-08-23 14:29:10 +03:00
Mikhail Glukhikh 255eb87375 Provide more clear API around AnnotationChecker.applicableTargetSet 2021-08-23 14:18:38 +03:00
Mikhail Glukhikh 19ab0ab2f8 FIR: approximate intersections in public position properly
#KT-48166 Fixed
2021-08-23 14:18:36 +03:00
Mikhail Glukhikh 7b0e5927cb Report EXPERIMENTAL_ANNOTATION_ON_WRONG_TARGET without explicit @Target
#KT-48349 Fixed
2021-08-23 14:18:34 +03:00
Andrey Zinovyev 865fccdd29 [FIR] Add messages for JvmRecord diagnostics
Also fix some tests
2021-08-23 10:33:24 +00:00
Andrey Zinovyev a3049b35c2 [FIR] Add ILLEGAL_JAVA_LANG_RECORD_SUPERTYPE diagnostic 2021-08-23 10:33:24 +00:00
Andrey Zinovyev 09a1d54865 [FIR] Add JVM_RECORD_EXTENDS_CLASS diagnostic 2021-08-23 10:33:23 +00:00
Andrey Zinovyev 8c2d37917f [FIR] Add DELEGATION_BY_IN_JVM_RECORD diagnostic 2021-08-23 10:33:23 +00:00
Andrey Zinovyev 3314c8faac [FIR] Add FIELD_IN_JVM_RECORD diagnostic 2021-08-23 10:33:23 +00:00
Andrey Zinovyev dbc1e31e67 [FIR] Add INNER_JVM_RECORD diagnostic 2021-08-23 10:33:22 +00:00
Andrey Zinovyev 49484c4292 [FIR] Add JVM_RECORD_NOT_LAST_VARARG_PARAMETER diagnostic 2021-08-23 10:33:22 +00:00
Andrey Zinovyev bf845b6066 [FIR] Add JVM_RECORD_NOT_VAL_PARAMETER diagnostic 2021-08-23 10:33:21 +00:00
Andrey Zinovyev e8405c41d1 [FIR] Report UNSUPPORTED_FEATURE if jvm records feature is not enabled 2021-08-23 10:33:21 +00:00
Andrey Zinovyev c7008892fd [FIR] Add NON_DATA_CLASS_JVM_RECORD diagnostic 2021-08-23 10:33:21 +00:00
Andrey Zinovyev 84f5d6b149 [FIR] Add JVM_RECORD_WITHOUT_PRIMARY_CONSTRUCTOR_PARAMETERS diagnostic 2021-08-23 10:33:20 +00:00
Andrey Zinovyev 3fee87a0f3 [FIR] Add ENUM_JVM_RECORD diagnostic 2021-08-23 10:33:20 +00:00
Andrey Zinovyev c8381e9b0f [FIR] Add NON_FINAL_JVM_RECORD diagnostic 2021-08-23 10:33:20 +00:00
Andrey Zinovyev 6b70aecad5 [FIR] Add LOCAL_JVM_RECORD diagnostic 2021-08-23 10:33:19 +00:00
Sergey Bogolepov c7faf9b4df [K/N] Add -Xllvm-variant` compiler option
We need a handle that allows user to pick `dev` variant instead of
`user` one just in case.
Additionally, I added a possibility to provide a path to an arbitrary
LLVM distribution because it is useful for development purposes.
2021-08-23 10:13:36 +00:00
Sergey Bogolepov db9ff9a4ce [K/N] Remove obsolete hack
Besides obsolescence, this hack is not working for "user" LLVM variant.
2021-08-23 10:13:35 +00:00
Sergey Bogolepov 8866ab5916 [K/N] Switch user LLVM distributions to smaller ones 2021-08-23 10:13:35 +00:00
Sergey Bogolepov 75215fcb97 [K/N] Option to build smaller LLVM distribution.
Also add a few adjustments to `package.py`:
* Enable threading in LLVM
* Replace `--archive-path` with `--pack` to avoid naming divergence.
2021-08-23 10:13:34 +00:00
Sergey Bogolepov 74e26126df [K/N] Use "user" version of LLVM in distribution 2021-08-23 10:13:34 +00:00
Ilya Chernikov 47ea5330ff IR: Allow references to script constructor in module
aso add test checking (somewhat confusing) semantic of
script nested classes.
2021-08-23 12:49:45 +03:00
Ilya Chernikov e7cbc9a0fb IR: Process script with LDL as if it is a function body
#KT-46645 fixed
#KT-48025 fixed
2021-08-23 12:49:43 +03:00
Andrey Uskov ebcc6eec97 Fixed setting target version if toolchain is not set
#KT-48226  Fixed
2021-08-23 11:25:03 +03:00
Ilya Muradyan 41e2deb751 Revert "[minor] Add the test confirming the wrong behavior of KT-48355"
This reverts commit d9c0b9ad5a.
2021-08-23 11:11:52 +03:00
Ilya Muradyan d9c0b9ad5a [minor] Add the test confirming the wrong behavior of KT-48355 2021-08-22 03:28:36 +03:00
Tianyu Geng 7306f1c3f1 FIR IDE: make equality of KtSymbol/KtType stable 2021-08-21 17:41:12 +03:00
Mark Punzalan 6b57621863 FIR IDE: Change key of argumentMapping in KtCall to KtExpression. 2021-08-21 17:26:29 +03:00
Mark Punzalan ae17cd639b FIR IDE: Correctly create KtFunctionalTypeVariableCall when function
call has errors.
2021-08-21 17:26:29 +03:00
Mark Punzalan f7dd6a0f64 FIR IDE: Remove KtCallWithArguments and move arguments up to KtCall. 2021-08-21 17:26:29 +03:00
Mark Punzalan 7f9ed58c7d FIR IDE: Expand KtCall API to include array access calls. 2021-08-21 17:26:29 +03:00
Matthew Gharrity e27b75bfba Check for cancelation during type inference
This should slightly mitigate the UI freezes caused by KT-47545.
2021-08-20 16:49:42 +03:00
sebastian.sellmair 487524f6b0 [Gradle] setupCInteropPropagatedDependencies: retain task dependencies
^KT-47523
2021-08-20 13:06:43 +00:00
sebastian.sellmair 882d72b1f7 [Gradle] Implement setupCInteropPropagatedDependencies
This commit will forward/propagate cinterops to intermediate source sets
with only one native dependent (and their metadata compilation)

^KT-47523 Verification Pending
2021-08-20 13:06:43 +00:00
sebastian.sellmair fee670e1a5 [Gradle] Add test and assertions to cover ^KT-47523 2021-08-20 13:06:42 +00:00
Victor Petukhov d730db094a Don't look at raw type's arguments while enhancing super types
^KT-48172 Fixed
2021-08-20 13:10:45 +03:00
Victor Petukhov 63cefe228d Extract computing raw type arguments into separate method 2021-08-20 13:10:42 +03:00
Dmitry Petrov a3bb9dde45 JVM_IR KT-48295 don't upcast field receiver with super qualifier 2021-08-20 12:27:43 +03:00