Commit Graph

2689 Commits

Author SHA1 Message Date
Svyatoslav Scherbina 99dd7227dc Support Boolean in interop varargs and function pointers invocation 2017-08-18 17:45:41 +03:00
Svyatoslav Scherbina 571fe47571 Improve csvparser sample def file:
* Do not use experimental feature `excludeDependentModules`
* Enable `-D_ANSI_SOURCE` cflag to get rid of manual function exclusion
2017-08-18 17:45:41 +03:00
Svyatoslav Scherbina 5586d29764 Add basic support for calling C function pointers
Fix #739
2017-08-18 17:45:41 +03:00
Ilya Matveev c848ee519d gradle-plugin, readme: Use relative links 2017-08-18 17:41:34 +07:00
Ilya Matveev 350ce9a2a6 gradle-plugin: Don't use afterEvaluate to configure tasks
Gradle plugin used afterEvaluate method to configure default
parameters for tasks. This behavior might lead to problems if
user also uses the afterEvaluate hook. This patch moves the
default setting logic into the tasks. The following actions
have been removed from the afterEvaluate hook:
  * Setting default source directories for KonanCompileTask
  * Setting default def-file for KonanInteropTask
2017-08-18 17:41:34 +07:00
Ilya Matveev 4c52639ee7 gradle-plugin: Accept Any instead of Task in ...Config.dependsOn 2017-08-18 17:41:34 +07:00
Ilya Matveev ad0c44d097 gradle-plugin, readme: Add links 2017-08-18 17:41:34 +07:00
Ilya Matveev 80dcd012e4 gradle-plugin, tests: Fix useInterop test for Windows 2017-08-18 17:41:34 +07:00
Ilya Matveev 1d3e9a6ffa gradle-plugin, tests: Create directories in the 'createFile' method 2017-08-18 17:41:34 +07:00
Ilya Matveev 50564803c2 gradle-plugin, readme: Add descriptions of task properties 2017-08-18 17:41:34 +07:00
Ilya Matveev afd4e5a02e gradle-plugin: Make def-file mandatory and remove 'linker' parameter 2017-08-18 17:41:34 +07:00
Ilya Matveev 756acde9f5 readme: Correct paths in INTEROP.md 2017-08-18 17:41:34 +07:00
Ilya Matveev 415660f428 gradle-plugin: Allow interop args change after useInterop call 2017-08-18 17:41:34 +07:00
Ilya Matveev e84493dfb7 gradle-plugin: Remove deprecated code 2017-08-18 17:41:34 +07:00
Ilya Matveev 07796442d4 gradle-plugin: Support adding interop from other projects 2017-08-18 17:41:34 +07:00
Ilya Matveev 1132e739ae gradle-plugin, tests: Rework test directory usage 2017-08-18 17:41:34 +07:00
Vasily Levchenko e81b1388d5 [cinterop][objC][debug] warkarond foe fail of debug build 2017-08-17 14:00:18 +03:00
Vasily Levchenko db1a1b029a [codegen][debug info][dwarf] (var) variable inspection in debugger support
- debug location metainformation attached to stack allcated slots.
- python bindings to work such variables.
2017-08-17 14:00:18 +03:00
Ilya Matveev 4931b2f05b build: Refactor dependencies updating 2017-08-17 10:27:40 +07:00
Svyatoslav Scherbina 5c3e8d63d4 Support bit fields in interop
Fix #728
2017-08-16 15:03:58 +03:00
Svyatoslav Scherbina ce27695290 Support anonymous struct and union fields in interop
Fix #729
2017-08-16 15:03:58 +03:00
Svyatoslav Scherbina c81ceed7c6 Support builtin C _Bool type in interop
Fix #756
2017-08-16 15:03:58 +03:00
Vasily Levchenko 9b37a30b45 [samples][socket][debug] mac build fix
(cherry picked from commit ac753b4f3a8e679967d79a69d4af84e3e8a96dfd)
2017-08-16 11:34:43 +03:00
Svyatoslav Scherbina d3185e3e19 Implement very basic Objective-C interop
Also refactor StubGenerator
2017-08-16 10:04:23 +03:00
Svyatoslav Scherbina a38835cb46 Extend libclang API 2017-08-16 10:04:23 +03:00
Svyatoslav Scherbina ab41017e58 Cache deserialized inline function bodies 2017-08-16 10:04:23 +03:00
Svyatoslav Scherbina 8bd0bb63c9 Remove obsolete workarounds for *va_list* in interop
Fix #740
2017-08-16 10:04:23 +03:00
Svyatoslav Scherbina 0f20feb544 Fix name clashes between struct and typedef in interop 2017-08-16 10:04:23 +03:00
Svyatoslav Scherbina cf8fea5711 Improve interop enum generation
Represent equal constants as the main one and its aliases.
2017-08-16 10:04:23 +03:00
Svyatoslav Scherbina 5da5887fc6 Fix resource leak in compiler 2017-08-16 10:04:23 +03:00
Ilya Matveev cdd235d53a build: Run performance tests from root project 2017-08-16 10:33:58 +07:00
Ilya Matveev 266047118e dependencies: Set downloading retry parameters in konan.properties 2017-08-16 10:33:07 +07:00
Ilya Matveev 0ae5df4cfb dependencies: Hotfix: rerun dependency downloading if it fails 2017-08-16 10:33:07 +07:00
Vasily Levchenko a7bac61742 [kotlin compiler][update] 1.1-20170811.223234-778 2017-08-14 12:22:40 +03:00
Ilya Matveev c7843aa9c7 dependencies: Detect unexpected stream end while downloading 2017-08-10 11:42:01 +07:00
Ilya Matveev 53fedbf55c gradle-plugin: Add dependsOn methods into configs
This patch adds the `dependsOn(Task)` method to both interop and
compilation configs. It allows one to use a simple syntax to add
dependencies to compilation/stub generation tasks:

konanArtifacts {
    foo { dependsOn anotherTask }
}

Issue: KT-19534
2017-08-10 11:42:01 +07:00
Ilya Matveev b46a8535d3 gradle-plugin: Show error if konan.home-based classpaths are empty
Issue link: https://github.com/JetBrains/kotlin-native/issues/773
2017-08-10 11:42:01 +07:00
Ilya Matveev 1a1148b0d0 gradle-plugin: Set groups and descriptions for building tasks
Issue link: https://github.com/JetBrains/kotlin-native/issues/771
2017-08-10 11:42:01 +07:00
Ilya Matveev 73b172f32d perf: Move benchmarks to separate gradle build
This patch separates the benchmark Gradle build from the root one.
It allows us to use the latest (built from sources) Gradle
plugin to compile the benchmarks instead of the released one.
2017-08-10 11:42:01 +07:00
Vasily Levchenko 8296c65aeb Migrate native to moved common lowers
(cherry picked from commit 6665d48017540afd8b8cb2fa0f104cab93e73473)
2017-08-10 06:19:51 +03:00
Mikhael Bogdanov d9c04eaaf5 Move platform specific symbols to KonanSymbols
(cherry picked from commit 40df6da2d78420497c6c2cd3a229ab00fb0d8f36)
2017-08-10 06:19:51 +03:00
Mikhael Bogdanov d33e8c78d1 Move StringConcatenationLowering and VarargLowering to common lowers
(cherry picked from commit 79422eef4ddbde3c17adc19417b9412a59d5da7b)
2017-08-10 06:19:51 +03:00
Mikhael Bogdanov 4a2d4b932b Specify source for default impl
(cherry picked from commit b37fd90128cea61df9c53a5b48bea6092ea9ec57)
2017-08-10 06:19:51 +03:00
Vasily Levchenko a24c5232cd [kotlin compiler][update] 1.1-20170809.024631-765 2017-08-10 06:19:51 +03:00
Alexander Gorshenev c7d5d6851d Classified the rest of the wasm32 expected failures. 2017-08-09 17:34:26 +03:00
Alexander Gorshenev 77cbd39907 Global initializers for wasm32. 2017-08-09 17:34:26 +03:00
Alexander Gorshenev 26d383c8be Support grow() operation for wasm32 memory. 2017-08-09 17:23:40 +03:00
Igor Chevdar e615b08ab7 Set escape analysis to analyze all types including value types.
Since a value type might be boxed and this information is missing in IR
the analysis cannot distinguish value types and boxes, so let it analyze
all for now.
2017-08-08 13:45:46 +03:00
Igor Chevdar 56e08e40e8 Added some corner tests on escape analysis 2017-08-07 16:45:51 +03:00
Igor Chevdar 31d2618b9c Made escape analysis a bit more conservative for now 2017-08-07 16:45:51 +03:00