Vasily Levchenko
62ffc0033d
[kotlin-native][test][dynamic test] tests provoking generating empty structs kt-42796
2021-04-13 12:10:58 +00:00
Vasily Levchenko
2adea2122e
[kotlin-native][build][test infrostructure] don't ignore compiler exit code
2021-04-13 12:10:57 +00:00
Vasily Levchenko
c68ac4f6b6
[interop][c][reverse] avoid generating empty structures for leaf packages without exportable declations
...
- fixes KT-42796
2021-04-13 12:10:57 +00:00
Abduqodiri Qurbonzoda
39731fd493
Merge Stdlib generators
2021-04-12 16:51:24 +03:00
Abduqodiri Qurbonzoda
98d31a1813
Expand KDoc of inc() and dec() operators #KT-43701
2021-04-10 03:23:04 +03:00
Vasily Levchenko
fd17e5e700
[build][kotlin-native][clean] adds kotlin-native/build to clean
2021-04-09 14:14:32 +00:00
Vasily Levchenko
3192b05586
[build][kotlin-native][g/c] drop unused hacks
2021-04-09 14:14:31 +00:00
Sergey Bogolepov
0fa2821ac1
Add missing targetToolchain.macos_arm64-linux_arm32_hfp property
2021-04-09 18:26:23 +07:00
Sergey Bogolepov
81d4c19d8b
Fix Android NDK targets
...
Android NDK dirs omit vendor part of triple,
so we have to respect its decision.
2021-04-09 13:11:14 +07:00
Sergey Bogolepov
6ab38c1ff8
Add support for Apple Silicon simulators
2021-04-08 16:51:51 +03:00
Sergey Bogolepov
3718907c6a
Use -target instead of -arch in ClangArgs
...
Explicit target selection helps Clang to
correctly set things up in case of Apple Silicon
simulator target.
2021-04-08 16:51:49 +03:00
Sergey Bogolepov
9b1498abad
Use runtime bitcode to get size of primitive types
...
As an alternative to explicitly setting type size in konan.properties or
backend code we can "ask" LLVM about it.
Unfortunately, there is no Clang/LLVM API for it,
so we use a trivial workaround:
Create dumb function in runtime code, and then extract info about
return type size using LLVM.
2021-04-08 16:51:47 +03:00
Sergey Bogolepov
790fea635d
Avoid explicit native targets enumerations
2021-04-08 16:51:45 +03:00
Sergey Bogolepov
15dcb36f47
Use TargetTriple in backend to simplify code.
2021-04-08 16:51:44 +03:00
Elena Lepilkina
5f2095217d
[Native] Removed slack reports for benchmarks
2021-04-08 10:39:16 +00:00
Pavel Punegov
afdecef112
Use minOrNull instead of deprecated min in the interop_objc_test
2021-04-08 11:57:34 +03:00
Elena Lepilkina
512010046f
[K/N] Replaced sumBy with sumOf
2021-04-08 11:57:33 +03:00
Elena Lepilkina
53c80cf03b
[K/N] Replaced usage of minBy/maxBy in samples and benchmarks
2021-04-08 11:57:33 +03:00
Vasily Levchenko
d2d324797b
[build][xcode][warning][todo] suppress deprecation warning with todo till bootstrap bump
2021-04-08 10:42:44 +02:00
Dmitriy Dolovov
8d4d9a1f0b
[K/N][IR] Re-enable string_builder0 and utf8 tests in 2-stage mode
...
^KT-33175
2021-04-08 09:40:16 +03:00
Dmitriy Dolovov
2e96a6c63c
[K/N][IR] Re-enable Harmony regex tests
...
^KT-33175
2021-04-08 09:40:12 +03:00
Sergey Bogolepov
7272e5dcad
Unify checks for iOS device in backend.native tests
2021-04-08 09:18:30 +03:00
Sergey Bogolepov
316d62a72f
Perform codesign in tests for all simulators
2021-04-08 09:18:29 +03:00
Sergey Bogolepov
7b06249e7f
Fix clang usage in backend.native:tests
...
For Apple Silicon targets we need to call Clang
1. From toolchain because the one from our distro is too old.
2. With appropriate flags for setting the sysroot.
2021-04-08 09:18:28 +03:00
Sergey Bogolepov
437a0aa450
Prepare test infrastructure for Apple Silicon simulators.
...
* Get rid of explicit target enumerations by using TargetTriple.
* Remove some code duplication with `project.testTargetConfigurables`
2021-04-08 09:18:27 +03:00
Sergey Bogolepov
cebf815fed
Introduce a proper TargetTriple class.
...
Target triple (like `arm64-apple-ios-simulator`) is a common
way to represent any target platform.
One of many useful properties: it allows to explicitly
distinguish iOS arm64 simulator target and a real device.
2021-04-08 09:18:25 +03:00
Abduqodiri Qurbonzoda
983985bc68
[K/N] Migrate compiler, interop and others to new case conversion api
2021-04-08 03:22:05 +03:00
Abduqodiri Qurbonzoda
a4839b8548
[K/N] Migrate runtime to new case conversion api
2021-04-08 03:22:04 +03:00
Abduqodiri Qurbonzoda
a697bc43b9
[K/N] Remove redundant @OptIn targeting new case conversion api
2021-04-08 03:22:00 +03:00
Abduqodiri Qurbonzoda
7f0e1ac08d
[K/N] Deprecate old Char and String case conversion api #KT-43023
2021-04-08 03:21:58 +03:00
Ilya Gorbunov
7cd306950a
Deprecate Char-to-Number conversions in stdlib (Native)
...
- Synchronize code of Ranges, Progressions, ProgressionIterators
- Suppress deprecations in regex implementation code
KT-23451
2021-04-07 18:30:21 +03:00
Ilya Gorbunov
833955e56d
Migrate deprecations in Native compiler
...
Replacing deprecated Char.toInt() with Char.code and
Number.toChar() with Number.toInt().toChar(), where Number is not Int.
KT-23451
2021-04-07 18:30:21 +03:00
Vasily Levchenko
d870876822
[kotlin/native][test] test for KT-33055
2021-04-07 15:04:57 +00:00
Vasily Levchenko
ef712f8f97
[kotlin/native][test] enabled stack_trace_inline back
2021-04-07 15:04:56 +00:00
Vasily Levchenko
a11b07f6c3
[codegeneration][debug info] generates marker of inlined function body on call site
...
- makes debuger breakpoint resolution more accurate
- restore expected behavior stack_trace_inline test
- fixes kt-33055
2021-04-07 15:04:56 +00:00
Sergey Bogolepov
9e6cf11026
Drop LLVM profiling frags from Clang invocation
...
It is not needed in most cases, but may affect profile
when running compiler with -Xprofile-phases.
2021-04-07 12:48:20 +00:00
Abduqodiri Qurbonzoda
b18cd24b81
[K/N] Advance deprecation level of FP to lesser than Int types to ERROR #KT-30360
2021-04-07 15:43:06 +03:00
Ilya Gorbunov
22ca412dd2
Fix case-insensitive character-wise comparison KT-45496
...
- Step 1: add failing tests
- Step 2: fix common case insensitive Char.equals
- Step 3: fix case insensitive String.equals in K/JS
- Step 4: enable unicode case folding in K/JS Regexes and
string replacement (KT-45928)
- Step 5: fix case insensitive char comparison in K/N in String functions
String.replace, equals, compareTo with ignoreCase
2021-04-07 14:43:41 +03:00
Abduqodiri Qurbonzoda
7a6cddf6fe
[K/N] Advance String(CharArray) deprecation level to ERROR
2021-04-07 00:23:32 +03:00
Abduqodiri Qurbonzoda
8300180261
[K/N] Remove AfterEach and BeforeEach typealiases in kotlin-test
2021-04-07 00:23:24 +03:00
Abduqodiri Qurbonzoda
91d42fe345
[K/N] Advance deprecation level of subarrayContentToString to ERROR
2021-04-06 18:44:22 +03:00
Abduqodiri Qurbonzoda
7fdf7c6175
[K/N] Move declarations from Text.kt to Strings.kt and StringBuilder.kt
2021-04-06 18:44:20 +03:00
Abduqodiri Qurbonzoda
71afd112c6
[K/N] Remove old String and utf8 conversion api #KT-31343
2021-04-06 18:43:41 +03:00
Svyatoslav Scherbina
df77cd303f
Don't use exitProcess to indicate a failure in Native library resolver
...
If Native compiler performs exitProcess, it crashes Gradle daemon that
runs the compiler.
2021-04-06 13:18:07 +00:00
Pavel Punegov
e23d09beb6
[Native] Return kotlinCompilerRepo parameter back
...
This parameter is used to specify maven path in case of kotlin_version
rewriting that happens during Nightly test runs.
2021-04-06 09:59:08 +00:00
Svyatoslav Scherbina
a4b9e2502c
Native: don't use frame pointer in leaf functions on ARM64 targets
...
Clang 8 and Clang 11 both have this optimization, but it was moved
from LLVM to Clang:
https://github.com/llvm/llvm-project/compare/c5b890e922432bd80a5e3c6d82994ef4cdc41900...a0aa58dad53f2e5e90a9b7079ec31bf7c3144fc7
So Kotlin/Native compiler now has to enable this optimization explicitly.
2021-04-06 08:44:12 +00:00
Svyatoslav Scherbina
2b6d8ab975
Native: replace no-frame-pointer-elim* LLVM attributes by frame-pointer
...
LLVM 8 and LLVM 11 understand both, but *frame-pointer-elim*
are obscure and obsolete.
2021-04-06 08:44:12 +00:00
Elena Lepilkina
85cb8eb959
[Native][perf] Increase heap space for K/N compiler in performance project
2021-04-06 09:27:28 +03:00
Alexander Shabalin
451fc8e9df
Fix enum isFrozen for wasm
2021-04-05 14:07:29 +00:00
Elena Lepilkina
d0513c9ece
[Native][perf] Removed unneeded workaround
2021-04-05 10:52:55 +00:00