Commit Graph

1532 Commits

Author SHA1 Message Date
alexander-gorshenev 43cbea8a67 Fixed a little issue in how we call ExecClang plugin. (#1317)
Moved ExecClang plugin to Kotlin.
2018-02-12 18:59:54 +03:00
Svyatoslav Scherbina e87901cf41 Fix producing framework from multi-platform projects 2018-02-12 16:24:56 +03:00
Svyatoslav Scherbina b98afb6c88 Fix producing framework with extensions to Any 2018-02-12 16:24:56 +03:00
Alexander Gorshenev 9789420ed3 A configurable zephyr board support. 2018-02-12 16:00:58 +03:00
Mike Sinkovsky d968fafec0 zephyr: first attempt 2018-02-12 16:00:58 +03:00
Nikolay Igotti 8324bb67f5 Omit expect classes/functions form -produce dynamic. (#1310) 2018-02-12 15:59:59 +03:00
Igor Chevdar ae95da2416 Fixed bug with nested enums lowering + test 2018-02-12 15:41:47 +03:00
SvyatoslavScherbina 0dc0831405 Don't serialize expect declaration descriptors (#1307)
Thus fix producing .klib from multi-platform sources
2018-02-12 14:15:21 +03:00
igotti-google d408b50305 Revert "[warnings] g/c some warnings and idea inspections"
This reverts commit 4b12f1c54c.
2018-02-11 11:14:28 +03:00
Svyatoslav Scherbina b15c94855e Improve Kotlin collections support when producing framework
* Represent MutableList, Set, Map as standard Objective-C collections
* Represent MutableSet and MutableMap as Obj-C collection subclasses
* Use Objective-C generics to represent collection element type
* Make type mapping more correct
2018-02-09 20:40:33 +03:00
Vasily Levchenko 9e738215dd [warnings] warning in import 2018-02-09 16:25:13 +03:00
Vasily Levchenko 4b12f1c54c [warnings] g/c some warnings and idea inspections 2018-02-09 16:25:13 +03:00
Pavel Punegov 066bff2004 Fix override conflicts with different return types 2018-02-09 14:25:23 +03:00
Igor Chevdar f2e3c91f79 Fixed bug with arguments cloning in inliner
There is no need to clone call arguments
2018-02-09 12:49:17 +03:00
Nikolay Igotti 98a7f9cdec Fix generic overrides conflicts. (#1293) 2018-02-08 16:15:28 +03:00
Alexander Gorshenev 33d895fcf7 Brought back the Standalone and Linker tests into backend.native:tests:run. 2018-02-07 18:25:22 +03:00
Vasily Levchenko f7af762dad [codegen] g/c indentation and warns 2018-02-07 16:10:35 +03:00
Nikolay Igotti a90ba16aed Debugging output removed. 2018-02-07 12:16:38 +03:00
Nikolay Igotti fca3057118 Fix -p dynamic 2018-02-07 12:08:58 +03:00
Sergey Bogolepov c57a12967b Enabled global DCE for no-opt and debug modes 2018-02-06 14:39:14 +03:00
Sergey Bogolepov b2fe9ffab0 Rolled back changes to IrToBitcode
Rolled back changes to BinaryInterface

Rolled back changes to Context
2018-02-06 14:39:14 +03:00
Sergey Bogolepov c4bb89969b Added commentary about wasm mem* functions 2018-02-06 14:39:14 +03:00
Sergey Bogolepov e397c1d73e Added opt and llc configs for wasm32 2018-02-06 14:39:14 +03:00
Sergey Bogolepov bb5dcc9111 Removed hacks
Just moving `-internalized` to the `opt` resolves the issue
2018-02-06 14:39:14 +03:00
Sergey Bogolepov 8b351078e6 Added explanation 2018-02-06 14:39:14 +03:00
Sergey Bogolepov 96afe7a274 Fixed opt output naming:
opted -> optimized
2018-02-06 14:39:14 +03:00
Sergey Bogolepov cff142a617 Review fixes 2018-02-06 14:39:14 +03:00
Sergey Bogolepov a3c7dc8919 Minor refactoring 2018-02-06 14:39:14 +03:00
Sergey Bogolepov b8e31c2f6b Fix wasm target 2018-02-06 14:39:14 +03:00
Vasily Levchenko 0236868012 [codegen][DI][inline] generation debug info for inlined functions. (#1251)
- We use DILexicalBlock and DILexicalBlockFile for generation debug info for kotlin inline (macro substituion by nature).
-- Note: DILexicalBlock aren't nested in opposite to inline function in C meaning.
- Changed DICompileUnit generation practise, now it generated for each file.
- added DI LLVM bindings.
2018-02-01 20:43:21 +03:00
Svyatoslav Scherbina d712abcda9 Handle unexpected name mismatch when checking for Objective-C override 2018-02-01 09:54:56 +03:00
SvyatoslavScherbina c09fd4d355 Add support for custom Xcode location (#1273) 2018-01-30 15:04:29 +03:00
Nikolay Igotti 19cc8c6bee API for object passing between platform threads. (#1270) 2018-01-30 13:19:56 +03:00
Vasily Levchenko a5e8d3dfc9 [kotlin compiler][update] 1.2-20180126.115605-180 (#1269)
* [kotlin compiler][update] 1.2-20180126.115605-180

kotlinScriptRuntimeVersion=1.2-20180126.115623-180
kotlinStdLibVersion=1.2-20180126.115626-180
kotlinReflectVersion=1.2-20180126.115618-180
kotlinStdLibJdk8Version=1.2-20180126.115632-180
kotlinGradlePluginVersion=1.2-20180126.115615-180

* [build] Fix upload for Kotlin dependencies
2018-01-30 10:50:57 +03:00
Igor Chevdar 15ef5bd6c0 Fixed bug in default args lowering + test
Made proper overridden descriptor selection.
2018-01-29 16:24:01 +03:00
Alexander Gorshenev d4b47ac709 Splitted KonanProperties into Configurables hierarchy.
Untangled Platfrom classes from the LinkStage and Distribution.
Simplified clang management a little.
2018-01-26 16:38:27 +03:00
Pavel Punegov cc89dc2754 Fix floating point conversions to match Kotlin/JVM
(cherry picked from commit de078d6)
2018-01-26 11:56:56 +03:00
SvyatoslavScherbina 7567c96bc9 Add basic support for multi-platform projects to the compiler (#1254)
Add compiler pass removing `expect` declarations

Thus support multi-platform projects in the compiler.

Also 

* Add some trivial checks to ensure that `expect` declarations
are not generated to bitcode.
* Add minor improvement to exported symbol name clash detection.
* Don't create LLVM declarations for Obj-C-interop fake functions.
2018-01-25 12:55:06 +03:00
Igor Chevdar e75a39fdd1 Fixed evaluation of lambda arguments of inline call + test
A lambda argument should be inlined only if it is declared as a functional type.
2018-01-22 19:07:36 +03:00
Igor Chevdar 295f71a29c Fixed inline call arguments evaluation + test 2018-01-22 19:07:36 +03:00
Svyatoslav Scherbina 4abca13b73 Fix .dSYM bundle location for produced frameworks 2018-01-19 19:45:33 +03:00
Svyatoslav Scherbina 90e6ab07c3 Disable binary stripping on mac targets on -produce framework/dynamic
Fixes debug in these cases.
2018-01-19 19:45:33 +03:00
Alexander Gorshenev f703877160 Introduced support for javascript Math and Kotlin Double to WASM32.
Implemented jsinterop tool for interaction with js math.
2018-01-19 13:46:53 +03:00
Nikolay Igotti 1599eddfe1 Allow passing interop types to C API, refactoring. 2018-01-18 18:27:58 +03:00
Kyle Kauffman 7b97916656 Resolve name conflicts when present (dyn lib generation) (#1204) 2018-01-18 16:25:24 +03:00
Igor Chevdar f218e2676e Fixed bug in LocalDeclarationsLowering + test
Bug was in determining whether a function was locally defined
2018-01-18 15:33:47 +03:00
Igor Chevdar b2098088ec Fixed bug with type projection building + test
Bug could be seen on fake overridden functions calls
2018-01-18 12:50:32 +03:00
Nikolay Igotti 77f220f335 Support @CName annotation for reverse C interop, similar to @JvmName. (#1237) 2018-01-17 19:34:00 +03:00
Ilya Matveev 9eb00ddb94 [build] Use gradle plugin in backend.native tests 2018-01-17 16:58:44 +07:00
Ilya Matveev aed28a3e2d [tests] Make tests using platform libs depending on distPlatformLibs 2018-01-17 16:58:44 +07:00