Commit Graph

1496 Commits

Author SHA1 Message Date
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
Ilya Matveev 32972af5bd [build] Fix 'shared' jar copying 2018-01-17 16:58:44 +07:00
Ilya Matveev a2b6c71f73 [build] Move shared and gradle-plugin into separate gradle builds
Platform libs build will be changed by a separate commit
2018-01-17 16:58:44 +07:00
Svyatoslav Scherbina 45cd41ce81 Replace some libstdc++ functions by simpler implementations
This helps to avoid linking large libstdc++ parts,
thus reducing the binary size.
2018-01-16 14:43:10 +03:00
Nikolay Igotti 1aa2e26344 Fix enum entries processing in C reverse interop. (#1232) 2018-01-15 20:16:30 +03:00
Vasily Levchenko 56d1881f18 [codegen][debug info] debug info generation do not touch llvm builder in the most cases. 2018-01-12 23:39:58 +03:00
Alexander Gorshenev e64c2f5990 Further refactored external utility execution. 2018-01-12 18:17:46 +03:00
Svyatoslav Scherbina e1b507f998 Fix fixed NSString* parameters in variadic functions 2018-01-11 12:28:40 +03:00
Vasily Levchenko c7a126a6b0 [kotlin compiler][update] 1.2-20180108.142832-109
kotlinScriptRuntimeVersion=1.2-20180108.142855-109
kotlinStdLibVersion=1.2-20180108.142900-109
kotlinReflectVersion=1.2-20180108.142850-109
kotlinStdLibJdk8Version=1.2-20180108.142908-109
kotlinGradlePluginVersion=1.2-20180108.142845-109
2018-01-11 09:48:49 +03:00
Pavel Punegov a6367f759b Expect test to fail on wasm32 due to exceptions 2018-01-10 18:58:48 +03:00
Pavel Punegov 902519a26b Check all whitespace characters according to Unicode standard 2018-01-10 18:58:48 +03:00
Svyatoslav Scherbina 8d4bedfef6 Enable missing checkers for frontend:
* Forbid super-calls with default arguments as in JVM;
* Forbid passing incorrect types for reified parameters.

Also suppress revealed errors with passing non-reified type to
array constructor
2018-01-10 18:42:28 +03:00
Svyatoslav Scherbina 7bebb8d960 Expose object instances and enum entries to produced framework
#KT-21892 Fixed.
Fix #1165

Also handle some clashes with NSObject method names.
2018-01-10 17:37:25 +03:00
Svyatoslav Scherbina f986a0cb10 Move singleton support from IR visitor to code generator 2018-01-10 17:37:25 +03:00
Svyatoslav Scherbina d4f39f8142 Apply minor refactoring to exception handling 2018-01-10 17:37:25 +03:00
Svyatoslav Scherbina b700f96e0c Rework stubs for interop globals passed by value
#KT-21855 Fixed
2018-01-09 17:51:50 +03:00
Pavel Punegov 670d05a4f3 Update stdlib and tests (#1194) 2018-01-09 13:17:55 +03:00
Nikolay Igotti 2e07b3f52f Fix potential parameter name clashes in C generator. 2017-12-29 10:19:10 +03:00
Nikolay Igotti 82ad179998 More fixes to C generator. (#1197) 2017-12-28 16:11:44 +03:00
Nikolay Igotti c2d067924d Rework C bindings generator to pure descriptor-based system. (#1193) 2017-12-27 13:30:12 +03:00
Igor Chevdar 6315dff4a8 Fixed bug in recursive inline 2017-12-26 18:15:38 +03:00
Igor Chevdar 3bec5b58e8 DeepCopyIrTree fix:
Proper containing declaration for local functions
2017-12-26 18:15:38 +03:00
Nikolay Igotti a05688351a Fix C API generation. (#1182) 2017-12-25 16:24:16 +03:00
Pavel Punegov 0fc1fb27e1 Get verbose key other way 2017-12-22 18:07:45 +03:00
Pavel Punegov 17ead04c00 Beautify code a little 2017-12-22 18:07:45 +03:00
Pavel Punegov d5fcf23629 Add version and output kind 2017-12-22 18:07:45 +03:00
Pavel Punegov 6b2257792c Show message in case of compilation error caused by exception 2017-12-22 18:07:45 +03:00
Igor Chevdar 552344e17e Moved EscapeAnalysis to optimizations package
+ added JB copyright
2017-12-21 14:12:58 +03:00
Igor Chevdar 83b02ea5d0 Rewrote escape analysis to use DFG 2017-12-21 14:12:58 +03:00
Igor Chevdar 888cd58bf7 Fixed bug in DFG with global fields initializers 2017-12-21 14:12:58 +03:00
Igor Chevdar 78a07fc8b9 DFG: Added reference back to Ir for all calls 2017-12-21 14:12:58 +03:00
Igor Chevdar cd02040d3f Refactoring of DFGSerializer 2017-12-21 14:12:58 +03:00
Igor Chevdar 07a7968869 DFG: Added number of parameters to a function’s symbol 2017-12-21 14:12:58 +03:00
Igor Chevdar 013a4abba3 Added <throws> node for a function’s DFG 2017-12-21 14:12:58 +03:00
Vasily Levchenko 3e949b4047 [cli] make -version more usable 2017-12-21 06:22:13 +03:00
max-kammerer 6ee6f5907d Enable multi-platform checker (#1163) 2017-12-18 16:47:02 +03:00
Alexander Gorshenev eae130e246 He says make it an extension property. 2017-12-18 15:04:02 +03:00