Commit Graph

2323 Commits

Author SHA1 Message Date
Igor Chevdar 39d1b8956d Test on abstract bridge 2017-05-10 15:44:22 +03:00
Igor Chevdar 97fe5c6b46 Abstract methods can also have bridges 2017-05-10 15:44:22 +03:00
Konstantin Anisimov 42b1414014 Code formatting 2017-05-10 18:31:02 +07:00
Konstantin Anisimov 715db233f9 Code formatting 2017-05-10 18:31:02 +07:00
Konstantin Anisimov eba8a50c43 Code formatting 2017-05-10 18:31:02 +07:00
Konstantin Anisimov ba1f3d502e Use annotation to distinct inline constructor 2017-05-10 18:31:02 +07:00
Konstantin Anisimov 31a24d4607 Replace DelegatingConstructorCall with IrCall
Replace "this" with result of IrCall
2017-05-10 18:31:02 +07:00
Vasily Levchenko 1baf906579 .gitignore: add .iml files 2017-05-10 12:46:13 +03:00
Vasily Levchenko 432a2c1dda CODEGEN: typo missed int type 2017-05-10 10:52:28 +03:00
Ilya Matveev 6f9af1c6a1 gradle-plugin: Revert target renaming 2017-05-10 14:31:02 +07:00
Ilya Matveev 739eb6233a Revert "gradle-plugin: Rename targets"
This reverts commit 7a1a5001a3.
2017-05-10 14:31:02 +07:00
Ilya Matveev 0a7e38c25a Revert "samples: Rename targets for tetris build."
This reverts commit dbcfa84498.
2017-05-10 14:31:02 +07:00
Ilya Matveev da6be1f1f7 Revert "samples: Use camel case in tetris gradle build script"
This reverts commit 409d00db96.
2017-05-10 14:31:02 +07:00
SvyatoslavScherbina 88e3c1d05c Implement parsing additional interop header directly from .def file (#557) 2017-05-09 19:48:19 +03:00
Svyatoslav Scherbina c2d556503d Fix bug in function inlining
Fake overrides have IR now, so their declarations can be found by inliner
but are fake and thus unusable.
2017-05-08 13:31:45 +03:00
Svyatoslav Scherbina 68e6ff614d Fix bug in local declarations lowering
IrCall doesn't provide `.shallowCopy` now, so the unreachable buggy code
became reachable.
2017-05-08 13:31:45 +03:00
Svyatoslav Scherbina 0b1e7c9526 Update compiler to IR with symbols, part 1
The produced symbols are currently unbound and thus useless.
2017-05-08 13:31:45 +03:00
Julius Kunze c3074db2d0 Improved build script for tensorflow example, fixed readme (#553) 2017-05-06 09:44:19 +03:00
Ilya Matveev 409d00db96 samples: Use camel case in tetris gradle build script 2017-05-05 19:40:21 +07:00
Ilya Matveev 660f7bc1d4 gradle-plugin: Use konanVersion as plugin version 2017-05-05 19:40:21 +07:00
Ilya Matveev c0c971a526 samples: Use latest gradle plugin version 2017-05-05 19:40:21 +07:00
Ilya Matveev ede419494a gradle-plugin: Update GRADLE_PLUGIN.md 2017-05-05 19:40:21 +07:00
Ilya Matveev dbcfa84498 samples: Rename targets for tetris build. 2017-05-05 19:40:21 +07:00
Ilya Matveev 7a1a5001a3 gradle-plugin: Rename targets
macbook -> osx
iphone -> ios
2017-05-05 19:40:21 +07:00
Ilya Matveev 00b19b8367 interop: Fix dependency downloading 2017-05-05 19:40:21 +07:00
Ilya Matveev 52bbbc1815 gradle-plugin: Specify compiler version in project properties
This patch allows gradle-plugin user to specify a compiler version
via project properties. The default version is 0.2. It also updates
samples to use this new version of gradle plugin.
2017-05-05 19:40:21 +07:00
Alexander Gorshenev 065fb6def5 Don't serialize empty packages for modules with dependencies. 2017-05-05 12:52:50 +03:00
Vasily Levchenko 9d63662fbe CODEGEN: generation type info for complex types and refactoring.
- unchecked_cast warning suppression
- move subroutineType ext function to DebugUtils.
- there is only one diType in caodegen
- generate type references for complex types if they are references
- generating array types
2017-05-04 20:35:44 +03:00
Vasily Levchenko b1462f8da6 DEBUGDEMO: refactoring & new demo of structured types.
- extract common part for easier demo introducing.
- fixed warning [-Wincompatible-pointer-types]
- demo-types
- this debug info generated for pseudo structure:
    1 /* smth here... */
    2 A {
    3 int a;
    4 int b;
    5}

    0:b-debugger-types:minamoto@unit-703(0)# llvmDebugInfoC/build/exe/demotypes/demotypes
    define i32 @main() !dbg !3 {
    entry:
      ret i32 42
      }

    !llvm.dbg.cu = !{!0}

    !0 = distinct !DICompileUnit(language: DW_LANG_C_plus_plus, file: !1, producer: "konanc", isOptimized: false, runtimeVersion: 0, emissionKind: FullDebug, enums: !2)
    !1 = !DIFile(filename: "<stdin>", directory: "")
    !2 = !{}
    !3 = distinct !DISubprogram(name: "main", linkageName: "main", scope: null, file: !1, line: 1, type: !4, isLocal: false, isDefinition: true, isOptimized: false, unit: !0, variables: !2)
    !4 = !DISubroutineType(types: !5)
    !5 = !{!6}
    !6 = !DICompositeType(tag: DW_TAG_structure_type, name: "A", file: !1, line: 2, size: 64, align: 32, elements: !7)
    !7 = !{!8, !10}
    !8 = !DIDerivedType(tag: DW_TAG_member, name: "a", scope: !6, file: !1, line: 3, baseType: !9, size: 32, align: 32)
    !9 = !DIBasicType(name: "int", size: 32, align: 4)
    !10 = !DIDerivedType(tag: DW_TAG_member, name: "b", scope: !6, file: !1, line: 4, baseType: !9, size: 32, align: 32, offset: 32)
2017-05-04 20:35:44 +03:00
Vasily Levchenko dc8bcc677a DEBUGINFO: binding enchancement && composite type support
- structured datatypes usable in debug info
- bindings for llvm/Support/Dwarf.h (llvm 3.9) makes easier introducing dwarf constants from LLVM
- added HANDLE_DW_LANG generating sequence DW_LANGs (DW_LANG_Kotlin equals DW_LANG_C89 for now).
- refactoring : g/c typo
- tag (DwarfTag) of the type added as parameter in DICreateReplaceableCompositeType
- binding for creating reference type
- binding for creating array type.
2017-05-04 20:35:44 +03:00
Igor Chevdar 8fbc06809a Codegen: optimization of catch (t: Throwable) {} 2017-05-04 20:44:36 +05:00
Igor Chevdar 39c6aa0f2c Fixed bug in DeepCopyIrWithDescriptors 2017-05-04 20:44:36 +05:00
Igor Chevdar 4dcee48e1f Removed CodeContext from scope of a variable 2017-05-04 20:44:36 +05:00
Igor Chevdar ca4beb171b Pulled up functions for working with stack on top level 2017-05-04 20:44:36 +05:00
Igor Chevdar e600c93dfa Enabled tests with finally blocks on coroutines + added tests 2017-05-04 20:44:36 +05:00
Igor Chevdar 1d9ccb36f3 Renamed IrInlineFunctionBody to IrReturnableBlock 2017-05-04 20:44:36 +05:00
Igor Chevdar 667b5fb936 Removed finally blocks handling from code generator 2017-05-04 20:44:36 +05:00
Igor Chevdar 3c84e39360 Finally blocks lowering 2017-05-04 20:44:36 +05:00
Igor Chevdar a7caf5ba29 Coroutines lowering: minor refactoring 2017-05-04 20:44:36 +05:00
Nikolay Igotti fc4fc438c3 Bump version to 0.2 2017-05-04 18:03:04 +03:00
Nikolay Igotti d95f419a53 v0.2 preparations (#547)
* v0.2 preparations

* Fix Tensorflow sample.
2017-05-04 17:28:59 +03:00
Konstantin Anisimov 6e7cb64b37 Typos fixed 2017-05-04 15:14:54 +07:00
Konstantin Anisimov 1e134f7062 Use fqName
Add BooleanArray
Use set
2017-05-04 15:14:54 +07:00
Konstantin Anisimov 666f052b10 Enforce inlining for *Array constructors 2017-05-04 15:14:54 +07:00
Ilya Matveev 156a8d79c9 Update compiler (1.1.3-dev-1810) 2017-05-03 22:06:26 +07:00
Ilya Matveev adb6e17b60 backend: Implement executableScriptFileName method in K2Native 2017-05-03 22:06:26 +07:00
Julius Kunze 7afa5e395a Added TensorFlow sample (#541)
* Added TensorFlow sample

* Added graph to TensorFlow sample

* Added session to TensorFlow sample

* added description to readme, cleaned up tensorflow.def, used lambda for deallocator, call Status.delete on error
2017-05-03 13:03:18 +03:00
Ilya Matveev 717f9ebc74 tests: Don't assume that NaN > any double in coercion test 2017-05-03 16:59:59 +07:00
Ilya Matveev 74bd3256f0 runtime: Correct Float.MIN_VALUE 2017-05-03 16:59:59 +07:00
Ilya Matveev 4179b5ddd6 tests: Disable tests that assume that NaN is greater than any value 2017-05-03 16:59:59 +07:00