Commit Graph

1093 Commits

Author SHA1 Message Date
Svyatoslav Scherbina d6b8b4fb0f Add basic support for Windows with mingw-w64 2017-05-29 19:13:55 +03:00
Svyatoslav Scherbina ed60732058 Fix Windows-specific klib bugs 2017-05-29 19:13:55 +03:00
Svyatoslav Scherbina d7adbfd221 Reconfigure interop with LLVM
Use more strict linking.
Also remove unused components.
2017-05-29 19:13:55 +03:00
Nikolay Igotti 79588716d6 Fix build 2017-05-29 15:42:11 +03:00
Nikolay Igotti ff8bce79d5 Uniform compiler/linker options treatment (#614) 2017-05-29 15:37:15 +03:00
Alexander Gorshenev c9ce175224 A bit simple file name suffix management. 2017-05-29 15:01:42 +03:00
Alexander Gorshenev 1970af042f Introduce '-p' as a short name for '-produce'.
-p program // The default.

    -p library

    -p bitcode
2017-05-29 15:01:42 +03:00
Alexander Gorshenev 380010d1ee -produce program|library|bitcode
'program' makes a kexe.

    'library' makes a klib.

    'bitcode' makes just a bare bitcode file.

    The default is 'program'.
2017-05-29 15:01:42 +03:00
Alexander Gorshenev 34491cfb01 Lexically sort compiler option definitions. 2017-05-29 15:01:42 +03:00
igotti-google 7ba6b6d2cc Revert "Interop test fix"
This reverts commit 09eee739f0.
2017-05-27 11:26:56 +03:00
Nikolay Igotti 09eee739f0 Interop test fix 2017-05-26 16:49:58 +03:00
Ilya Matveev f1256edb02 build: Use konan.properties values for some building constants.
This patch uses values provided by konan.properties to specify
build dependencies (libffi and sysroots) and the "target" parameter
for LLVM.
2017-05-26 15:52:42 +07:00
Igor Chevdar 2dcfdebd5a Optimized inliner: substitute leaking descriptors only once 2017-05-25 16:15:55 +03:00
Igor Chevdar 3f61425d71 Reordered lowerings
Callable reference lowering must be performed before
local functions lowering because otherwise
original names of local functions would be lost
2017-05-24 22:53:18 +03:00
Igor Chevdar 7eee76f0f5 Fixed bug: finally blocks are not always inside IrFunction
For instance: package level field initializers.
2017-05-24 22:53:18 +03:00
Igor Chevdar 48f5962645 Fixed test 2017-05-24 22:53:18 +03:00
Igor Chevdar 21ad85216f Fixed bug with name clash for package level properties 2017-05-24 22:53:18 +03:00
Igor Chevdar 6116f24abc Added test on callable reference to property 2017-05-24 13:56:08 +03:00
Igor Chevdar 560822fca0 Fixed bug with duplicate IR nodes 2017-05-24 13:56:08 +03:00
SvyatoslavScherbina d08438da5f Continue updating compiler to IR with symbols:
The symbols produced by the lowering are now bound.

Also:
* Simplify interop lowering and bridges building.
* Refactor IR validation.
2017-05-24 11:30:28 +03:00
Alexander Gorshenev 9d6846947e Don't expect local libraries to be in 'klib' directory. 2017-05-24 00:47:10 +03:00
Nikolay Igotti 42197a2bec Android NDK support and build system refactoring (#585) 2017-05-24 00:20:19 +03:00
Alexander Gorshenev 48742b7f3f Library search path resolution. 2017-05-23 16:40:48 +03:00
Alexander Gorshenev 1b30f0988b Renamed SplitScheme to SplitLibraryScheme. 2017-05-23 16:40:48 +03:00
Alexander Gorshenev ff86c16fc9 Don't skip empty packges of the current module when serializing. 2017-05-23 16:40:29 +03:00
Igor Chevdar 63e5aaecba Added type checks for special bridges (Collection, Map, List) 2017-05-23 12:25:10 +03:00
Igor Chevdar c3b7d5a8c9 Inliner: fixed bug with leaking descriptors
An inline function might return an object, internal of which are leaked
to the outside, we need to substitute those descriptors as well
2017-05-23 11:44:09 +03:00
Igor Chevdar 072da99ba3 Coroutines bug fix: correct handling of returnIfSuspended intrinsic 2017-05-23 11:44:09 +03:00
Igor Chevdar e834218183 Inliner: fixed bug with default lambda arguments 2017-05-23 11:44:09 +03:00
Igor Chevdar 7f012fabc2 Ignored/enabled/fixed some external tests 2017-05-23 11:44:09 +03:00
Igor Chevdar 8599ac065f Fixed order of arguments for inline function
Default arguments are evaluated inside callee as opposed to other
arguments computed at callsite.
2017-05-23 11:44:09 +03:00
Miquel Beltran dfc179e2b9 Support armv6 devices (Pi Zero) (#588) 2017-05-21 10:56:40 +03:00
Ilya Matveev cdec464b29 Update compiler (1.1-20170519.065155-538) 2017-05-19 19:07:26 +07:00
Alexander Gorshenev 85ecce2a9e Don't use a golden value for a test that don;t run. 2017-05-19 13:52:35 +03:00
Alexander Gorshenev 2283a941b7 Simple sanity check of cross compilation build and compiler execution. 2017-05-19 13:52:35 +03:00
Alexander Gorshenev 7b2f3923a6 Eliminated dependency of library reader interface on compiler configuration. 2017-05-19 12:42:13 +03:00
Alexander Gorshenev b0d27820c8 Minor tweaks to KonanLibrary. 2017-05-19 12:42:13 +03:00
Alexander Gorshenev 6c00815968 Updated the klib scheme a little.
Renamed 'module' to 'manifest'.
And placed module header protobuf to linkdata/<module> file rather
as another line in the manifest.
2017-05-19 12:42:13 +03:00
Alexander Gorshenev 53473fc0dd Collected klib scheme to a single interface. 2017-05-19 12:42:13 +03:00
Alexander Gorshenev fc1c5cac09 A minor typo in a file name construction. 2017-05-19 12:42:13 +03:00
Alexander Gorshenev b42916b08e Shuffle some library classes around. 2017-05-19 12:42:13 +03:00
Vasily Levchenko c8badb0a38 DEBUGINFO: generate forward declaraion of the type instead of kotlin.Any
Previously in case type wasn't resolved in codegen (debug info wasn't constructed from IR),
we'd use reference to kotlin.Any? as type, from now we're using forward declaration. What next?
- type parameters... how to deal with?

(cherry picked from commit 579acba659fe52afec638fc00e07a320560bd5fa)
2017-05-18 18:39:31 +03:00
SvyatoslavScherbina c9d7f976a5 Update compiler to IR with symbols, part 2 (#581)
The symbols produced by first lowering phases are now bound
2017-05-18 17:54:53 +03:00
Konstantin Anisimov 3000b1ec41 One more lateinit 2017-05-18 19:30:50 +07:00
Konstantin Anisimov cfe78ad05c One more lateinit 2017-05-18 19:30:50 +07:00
Konstantin Anisimov 3ee1e114c9 Establish dependency LOWER_INLINE -> LOWER_INLINE_CONSTRUCTORS 2017-05-18 19:30:50 +07:00
Konstantin Anisimov 8f1073cab8 Inliner searches function declaration using descriptor.original 2017-05-18 19:30:50 +07:00
Konstantin Anisimov de5ff23a2b Move inline constructor transformation to separate compilation pass 2017-05-18 19:30:50 +07:00
Igor Chevdar daa302e233 Enabled some tests on coroutines 2017-05-18 11:56:32 +03:00
Igor Chevdar 3e2fccc3f4 Implemented inheritance of lambdas from SuspendFunction 2017-05-18 11:56:32 +03:00