summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Step2: fixes #13781, fixes #13805 (#13897)cooldome2020-04-163-17/+27
| | | | | | | | | * Fix sym owner in wrapper proc * threadpool changes * revert lowerings * add newFastMoveStmt * try fixing test by switching to cpp Co-authored-by: cooldome <ariabushenko@bk.ru>
* Implements RFCs #209 (#13995)cooldome2020-04-166-101/+213
| | | | | * add test * add changelod entry Co-authored-by: cooldome <ariabushenko@bk.ru>
* drnim: tiny progress (#13882)Andreas Rumpf2020-04-1511-118/+98
| | | | | | | | | | | * drnim: tiny progress * refactoring complete * drnim: prove .ensures annotations * Moved code around to avoid code duplication * drnim: first implementation of the 'old' property * drnim: be precise about the assignment statement * first implementation of --assumeUnique * progress on forall/exists handling
* fix #12864 static params were mutating arg types during sigmatch; fix #12713 ↵Timothee Cour2020-04-141-0/+1
| | | | | | | | | | | ; refs #13529 (#13976) * fix #12864 static params were mutating arg types during sigmatch * fix test * fix StaticParam * also fixes #12713; added test case
* Fix semfold handling of {.str/int/bool-define.} (#13964)Oscar Nihlgård2020-04-131-0/+6
|
* error msg for #13864 (#13962)cooldome2020-04-131-0/+5
| | | Co-authored-by: cooldome <ariabushenko@bk.ru>
* fix #13848: make var result work with nim cpp (#13959)Timothee Cour2020-04-131-1/+5
| | | | | * fix #13848 * add exhaustive tests for var result
* Add support for `zig cc` as C compiler. (#13757)Hessam Mehr2020-04-082-1/+12
|
* fix ICE in isUnresolvedSym (#13925)cooldome2020-04-081-5/+6
| | | Co-authored-by: cooldome <ariabushenko@bk.ru>
* fix #13909 (#13914) [backport:1.2]cooldome2020-04-082-24/+35
| | | Co-authored-by: cooldome <ariabushenko@bk.ru>
* fix #13902 distinct uint64 type corruption on 32-bit with borrow (#13907) ↵Timothee Cour2020-04-081-1/+1
| | | | | | | [backport:1.2] * fix #13902 distinct uint64 type corruption on 32-bit with borrow Co-authored-by: Timothee Cour <timothee.cour2+lightsail@gmail.com>
* fix #13910 (#13917)cooldome2020-04-071-2/+2
| | | Co-authored-by: cooldome <ariabushenko@bk.ru>
* fix some codegen bugs: NIM_BOOL, NIM_STATIC_ASSERT, --passc:-std=... (etc) ↵Timothee Cour2020-04-071-3/+5
| | | | | | | | (#13798) * fix cgen bool D20200328T203812 * --passc:std=c++17 (etc) now works instead of silently ignored * document caveats for NIM_NIL
* fix #13739 (#13742)Arne Döring2020-04-071-5/+4
|
* fix https://github.com/timotheecour/Nim/issues/88 (#13865) [backport:1.2]Timothee Cour2020-04-061-30/+23
|
* add nimPath to nim dump (#13876)Timothee Cour2020-04-051-1/+2
| | | | | * add nimPath to nim dump * rename
* Fix sym owner in wrapper proc (#13878)cooldome2020-04-051-27/+27
| | | Co-authored-by: cooldome <ariabushenko@bk.ru>
* finally de-deprecate the .define and .undef pragmasAndreas Rumpf2020-04-041-2/+0
|
* new feature: ability to turn specific warnings to errorsAndreas Rumpf2020-04-046-29/+40
|
* Remove my wrongly written mangled-related code, not needed anymore (#13858)Alexander Ivanov2020-04-032-11/+4
|
* sourcemaps for the JS codegen (#7508)Alexander Ivanov2020-04-034-9/+424
|
* make bootstrapping more robust for people who have Nim inside /usr/bin (#13855)Andreas Rumpf2020-04-031-32/+34
|
* move tinyc to a separate repo and allow installing external dependencency ↵Timothee Cour2020-04-034-25/+38
| | | | | | | (eg tinyc) from koch / library code (#13850) * remove tinyc * installDeps * update tinyc paths
* added an .assert pragma and mentioned the pragmas in the changelogAraq2020-04-023-4/+4
|
* fix last remaining warning when building nim (`intVal should be Int128`) + ↵Timothee Cour2020-04-024-47/+29
| | | | minor cleanups (#13841)
* Deprecate when declared(echo):echo (#13840)Juan Carlos2020-04-023-84/+82
|
* fixes #13782 (#13834)Andreas Rumpf2020-04-013-19/+60
|
* Fix tests/types/tparameterizedparent0Zahary Karadjov2020-04-011-1/+1
|
* The raises list can now use expressions referencing the generic paramsZahary Karadjov2020-04-014-5/+16
|
* Turn some of the errors back into warningsZahary Karadjov2020-04-015-18/+30
|
* Replace tfHasRequiresInit with a more accurate mechanismZahary Karadjov2020-04-0110-45/+69
| | | | | | | | | The new mechanism can deal with more complex scenarios such as not nil field appearing in a non-default case object branch or a field within a generic object that may depend on a when branch. The commit also plugs another hole: the user is no longer able to create illegal default values through seq.setLen(N).
* Fix tests/parallel/tguard2.nimZahary Karadjov2020-04-013-3/+5
|
* Fix a CI failure during koch docZahary Karadjov2020-04-011-1/+2
|
* Fix https://github.com/nim-lang/Nim/issues/4907Zahary Karadjov2020-04-012-4/+38
|
* Perform nil checks during object construction and within compiles()Zahary Karadjov2020-04-013-4/+8
| | | | Close https://github.com/nim-lang/Nim/issues/6494
* More precise error messages for uninitialized fields in the presence of ↵Zahary Karadjov2020-04-012-35/+32
| | | | inheritance
* not nil types are illegal to construct through default(T)Zahary Karadjov2020-04-011-0/+2
|
* Turn the warning for uninitialized (result) variables into errorsZahary Karadjov2020-04-016-15/+22
|
* Enable the requiresInit checks only for objectsZahary Karadjov2020-04-012-2/+2
|
* Plug another hole: default(T) forbidden for objects requiring initializationZahary Karadjov2020-04-014-19/+26
|
* Don't allow 'var x: T' for objects that require initializationZahary Karadjov2020-04-013-37/+55
|
* More sophistication; Allow requiresInit to be specified per-fieldZahary Karadjov2020-04-013-15/+30
|
* First steps, the compiler can boot with enforced requiresInitZahary Karadjov2020-04-016-25/+22
|
* make `usage of foo is a user-defined error` more informative (#13833)Timothee Cour2020-04-011-3/+5
|
* fix open file leak when running --debugger:native (#13832)Timothee Cour2020-04-012-6/+16
|
* Add arm/arm64 for FreeBSD (#13822)lbartoletti2020-03-311-1/+1
| | | | | * Add arm and arm64 for FreeBSD * Add arm64 with aarch64 and reorder to avoid conflict with arm
* DrNim (Nim compiler with Z3 integration) (#13743)Andreas Rumpf2020-03-3112-27/+178
| | | | | | | | | | | | | | | | | | | | | | | | * code cleanups and feature additions * added basic test and koch/CI integration * make it build on Unix * DrNim: now buildable on Unix, only takes 10 minutes, enjoy * added basic documentation for DrNim which can also be seen as the RFC we're following * drnim: change the build setup so that drnim.exe ends up in bin/ * makes simple floating point ranges work * added basic float range check * drnim: teach Z3 about Nim's range types plus code refactoring * drnim: make unsigned numbers work * added and fixed index checking under setLen * first implementation of .ensures, .invariant and .assume (.requires still missing and so is proc type compatibility checking * drnim: .requires checking implemented * drnim: implemented .ensures properly * more impressive test involving min() * drnim: check for proc type compatibility and base method compatibility wrt .requires and .ensures * testament: support for 'pattern <directory> * koch: uses new <directory> feature of testament * drnim: added tiny musings about 'old' * Make testament work with old SSL versions * koch: add support for 'koch drnim -d:release' * drnim: preparations for the param.old notation
* fixes #13810 (#13821)cooldome2020-03-311-1/+1
| | | Co-authored-by: cooldome <ariabushenko@bk.ru>
* macros for proc types, macros for types (#13778)Andreas Rumpf2020-03-313-95/+134
| | | | | | | | | * new minor feature: macros for proc types, to be documented * Finished the implementation and added tests * [skip ci] Describe the new custom pragmas in the manual and the changelog Co-authored-by: Zahary Karadjov <zahary@gmail.com>
* stacktraces can now show custom runtime msgs per frame (#13351)Timothee Cour2020-03-304-2/+12
| | | | | | | | * stacktraces can now show custom runtime msgs * improve tests/stdlib/tstackframes.nim * fix test for --gc:arc * test --stacktraceMsgs:on and --stacktraceMsgs:off * --stacktracemsgs:off by default