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