Commit Graph

1103 Commits

Author SHA1 Message Date
Nikolay Igotti 4fcbeadab4 Fix build 2017-06-05 22:18:45 +03:00
Alexander Gorshenev 5192bd1313 Entry point selection.
$ kotlinc -entry foo.bar.qux ...

selects `qux(args: Array<String>):Unit` in the package `foo.bar` as an entry point.

The short flag is `-e`.
2017-06-05 20:56:10 +03:00
Nikolay Igotti a2fa4938f3 Fix Windows resource linking (#633) 2017-06-05 17:58:47 +03:00
Nikolay Igotti dd81d529ee Support for Android ARM64 on Mac (#627) 2017-06-02 15:05:15 +03:00
Alexander Gorshenev f9d0d6d563 Converted K2NativeCompilerArguments from Java to Kotlin. 2017-06-01 23:37:22 +03:00
Alexander Gorshenev fd26b7e156 Found some lost optimization flags. 2017-06-01 18:50:49 +03:00
Nikolay Igotti a5fe494ae3 Fix Windows tests (#622) 2017-06-01 11:46:14 +03:00
max-kammerer 9af223fb00 Extract common interfaces from native ir (#618)
* Move objects out of inner classes
* Extracted CommonBackendContext, common Ir and Symbols
* Switch some lowers to CommonBackendContext
* Move IrUtils to common package
* Move 'atMostOne' utils to common package
* Move DumpIrTreeWithDescriptorsVisitor to common package
2017-05-31 15:53:30 +03:00
Nikolay Igotti 74ffc479bb Add Windows i18n support (#617) 2017-05-31 10:01:49 +03:00
Igor Chevdar 111a5b0e34 Fixed some tests 2017-05-30 14:50:15 +03:00
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