Commit Graph

1302 Commits

Author SHA1 Message Date
Svyatoslav Scherbina a0dc2ecef2 Enable method signature checks when overriding Objective-C method 2017-10-17 13:23:21 +03:00
Aleksey Kladov 3fb208cb9d [debug] fix line info for artificial IrElements (#941)
Some IrElements have -1 as a startOffset (for example, generated methods
of data classes). To represent such offsets in debuginfo, we should use
0 instead of -1, because line/columns are one-based unsigneds.

closes KT-20443
2017-10-16 16:16:51 +03:00
Mike Sinkovsky f4c90e1a86 fix gradle 4.2 warning on windows (#937) 2017-10-13 12:54:22 +03:00
Vasily Levchenko 6457e97364 [kotlin compiler][update] 1.1-20171004.235336-906
kotlin-script-runtime: 1.1-20171004.235353-597
kotlin-stdlib: 1.1-20171004.235357-905
kotlin-reflect: 1.1-20171004.235348-905
kotlin-stlib-jdk8: 1.1-20171004.235402-815
kotlin-gradle-plugin: 1.1-20171004.235345-884
2017-10-12 15:16:30 +03:00
Vasily Levchenko 596c8c086c [build] projet-report plugin added
for maintenence needs e.g.
./gradlew htmlDependencyReport
gitves nice reports of dependencies and helps in compiler update
2017-10-12 15:16:30 +03:00
Alexander Gorshenev 17ae2343d4 There is not platform.posix for wasm32. 2017-10-12 10:56:21 +03:00
Alexander Gorshenev 2445357166 A test to check we don't throw away a library dependency only because it
it a default lib not needed in the main program.
2017-10-11 17:05:12 +03:00
Alexander Gorshenev e7286998aa If we get a defaultly linked library again from a library dependency
it should not be purged anymore for the final binary.
2017-10-11 17:05:12 +03:00
Svyatoslav Scherbina ea802dfcdf Don't touch dependencies when serializing the module
Otherwise dependencies would seem as needed.
2017-10-11 16:48:33 +03:00
Svyatoslav Scherbina 081b990863 Don't mark library needed if it was touched while looking for cnames.*
Also do minor refactoring.
2017-10-11 16:48:33 +03:00
SvyatoslavScherbina faa5ba0e7c Move platform libs to dist/klib/$target (#926) 2017-10-10 14:48:42 +03:00
SvyatoslavScherbina 8bc552632d Platform lib fixes and improvements (#925)
* Build platform klibs with `-nodefaultlibs`

* Improve android platform libs:

* Add dependencies
* Add header filters
* Add glescommon
* Do minor cleanup

* Add minor code improvements
2017-10-10 11:41:52 +03:00
Svyatoslav Scherbina c7588d7928 Use packages specified in .def files for platform libs 2017-10-09 17:24:47 +03:00
Ilya Matveev bf08359f0d unit-tests: Report error on test functions with incorrect signature 2017-10-09 11:38:32 +03:00
Ilya Matveev e245a23c34 Minor improvements in recursive klib dependency support
* Support -r option in the cinterop tool.
 * Move klib resolve into separate methods.
 * Don't treat directory as a library if it doesn't contain a manifest.
 * Rework recursive library search + duplicate removal.
 * Support recursive klib processing in the cinterop tool.
2017-10-06 14:36:09 +03:00
Svyatoslav Scherbina 62bee84a26 Workaround non-unique symbol names of Objective-C category methods 2017-10-06 11:16:18 +03:00
Svyatoslav Scherbina c6ee45a1d2 Specify SDK version explicitly when linking for iOS
If `-sdk_version` option is absent, ld infers the version from
`-syslibroot` path.

Since sysroot directory name in our dependencies differs from the
Xcode SDK names, the resulting binary didn't contain correct SDK version
specification, and this was leading to device-orientation-related bugs
on iOS 11.
2017-10-06 11:16:18 +03:00
SvyatoslavScherbina 7795a7856a Support global variables in interop (#903) 2017-10-06 10:56:31 +03:00
Vasily Levchenko 3777d86be2 [tests][interop] fix sockets.def placement closer to test (fix build) 2017-10-06 06:29:08 +03:00
Igor Chevdar fa21a260b1 Fixed coroutines for wasm
Replaced llvm indirectBr instruction with switch instruction.
2017-10-05 14:10:06 +03:00
Ilya Matveev 8fcc4c4f30 unit-tests: Add tests for test runner 2017-10-05 11:37:34 +03:00
Ilya Matveev 1b8fc1a40b unit-tests: Use file name as a suite name for top-level tests
The naming system used is the following. If there is a file
'foo.kt' with the following content:

// foo.kt
package bar.baz

@Test fun test() { ... }

Then 'bar.baz.fooKt' will be a test suite name and 'test' will be
a test name.
2017-10-05 11:37:34 +03:00
Ilya Matveev d5fe0862ac unit-tests: Allow user to set a custom entry point for test program 2017-10-05 11:37:34 +03:00
Ilya Matveev fbb9163abf build: Use Gradle 4.2 2017-10-04 14:40:08 +03:00
Igor Chevdar df3e114f31 Added phase RETURNS_INSERTION
Moved explicit insertion of return statement from code generator to a lowering
2017-10-04 13:31:30 +03:00
Alexander Gorshenev b7dd5bd24d Eliminate duplicates of libraries acquired by rombic inclusions.
Allow repositories without /klib bottom level firectory.
2017-10-03 17:14:43 +03:00
Alexander Gorshenev 42cbf8428b Collect dependent libraries in the manifest.
Link dependencies recursively.
2017-10-02 17:13:49 +03:00
Alexander Gorshenev 6118424ef7 Some IDEA code wants package files to have extensions.
So let's make IDE dudes happy.
2017-09-29 12:30:02 +03:00
Alexander Gorshenev 606f98f9d3 Added minimal posix.def for windows. 2017-09-28 12:32:09 +03:00
Vasily Levchenko 910e79a482 [build][platform libs] order build of libraries in topological order 2017-09-28 06:14:18 +03:00
Sergey Bogolepov 0fb788d580 Renamed targets. Added linux_ prefix
mips32   -> linux_mips32
mipsel32 -> linux_mipsel32
2017-09-26 16:18:33 +03:00
Sergey Bogolepov b7978c3a1f Renamed targets.
mips -> mips32
mipsel -> mipsel32
2017-09-26 16:18:33 +03:00
Ilya Matveev 5304ff39f4 MIPS: Rename mips gcc toolchain 2017-09-26 16:18:33 +03:00
Sergey Bogolepov c1e412ce40 Updated konan.properties 2017-09-26 16:18:33 +03:00
Sergey Bogolepov 46eed4efbb Enabled disabled targets 2017-09-26 16:18:33 +03:00
Sergey Bogolepov ca567ac35c Added support for mipsel 2017-09-26 16:18:33 +03:00
Ilya Matveev a6f4481c5b Separate the MIPS toolchain from the Linux one. 2017-09-26 16:18:33 +03:00
Sergey Bogolepov 9187022721 Initial support for MIPS 2017-09-26 16:18:33 +03:00
Nikolay Igotti eb0415b2e5 Fix Android build (#886) 2017-09-26 15:10:25 +03:00
Alexander Gorshenev fc31e96b26 Only allow library prunning for the default links for now.
Don't forget to bring it back when library dependency info is available.
2017-09-26 15:09:03 +03:00
SvyatoslavScherbina 786374ef86 Add basic support for class references
Also use class name for `Any.toString` and `Throwable.toString`.
2017-09-26 10:59:45 +03:00
Svyatoslav Scherbina a6ca64871f Implement explicit and implicit object pinning for interop
This allows passing Kotlin primitive arrays directly to native
2017-09-26 09:50:42 +03:00
Svyatoslav Scherbina d8ed1f4414 Hide nativeMemUtils and pointerSize 2017-09-26 09:50:42 +03:00
Svyatoslav Scherbina 388aba5040 Export property accessors if the property is exported
This fixes `@PublishedApi` support for properties.
2017-09-26 09:50:42 +03:00
Vasily Levchenko 197f77f8e3 [tests] string builder appendln tests 2017-09-25 17:51:33 +03:00
Ilya Matveev 412d0485e4 box-tests: Remove duplicating assertions from testUtils.kt
The testUtils.kt contains some assertions which are now implemented
in stdlib. This patch removes them from testUtils.kt
2017-09-25 13:45:11 +03:00
Alexander Gorshenev f1c3e866b4 A couple of tests for default libraries. 2017-09-25 12:49:22 +03:00
Alexander Gorshenev 27f7e4263b Auto link everything found in dist/klib.
Disable such behavior with -nodefaultlibs.
Omit libraries from the link stage if their packages have not been referenced.
2017-09-25 12:49:22 +03:00
Ilya Matveev 2f4163ece6 unit-tests: Fix filenames for Windows 2017-09-25 11:31:22 +03:00
Ilya Matveev 6db5bbb4f0 unit-tests: Disable tests for unit tests support on wasm32 2017-09-25 11:31:22 +03:00