summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* fixes a regression about indexing into UncheckedArrayAndreas Rumpf2018-10-161-1/+12
|
* nimpretty: fixes #9144Andreas Rumpf2018-10-161-0/+1
|
* nimpretty: add #!nimpretty on/off directivesAndreas Rumpf2018-10-163-5/+23
|
* nimpretty: fixes #8626Andreas Rumpf2018-10-162-2/+4
|
* nimpretty: render r-strings properly, fixes #9236Andreas Rumpf2018-10-162-11/+15
|
* Merge branch 'Fixes-7845' of https://github.com/cooldome/Nim into ↵Araq2018-10-152-8/+8
|\ | | | | | | cooldome-Fixes-7845
| * one more attemptcooldome2018-06-281-3/+5
| |
| * Fix failing testcooldome2018-06-261-1/+1
| |
| * Merge branch 'devel' into Fixes-7845cooldome2018-06-26112-5860/+4799
| |\
| * | FIx test tembarrassing_generic_failurecooldome2018-06-121-1/+1
| | |
| * | Fixescooldome2018-06-121-5/+4
| | |
| * | Fixes 7845cooldome2018-06-102-9/+8
| | |
* | | fixes #2760Araq2018-10-151-1/+1
| | |
* | | DFA: implement exception handling properlyAndreas Rumpf2018-10-142-3/+22
| | |
* | | [WIP] Early evaluation of mIs (#8723)LemonBoy2018-10-142-44/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Early evaluation of mIs The `evalIs` implementation was just a broken copy of `isOpImpl` so let's just avoid it alltogether: `mIs` nodes are either resolved during the semantic phase or bust. * Remove dead code and tidy it up
* | | fixes #8671; show helpful msg (lookup symbol, eg iterator) on 'attempting to ↵Timothee Cour2018-10-141-5/+27
| | | | | | | | | | | | call undeclared routine' error (#8786)
* | | sizeof(UncheckedArray) should be invalid; fixed the formating of ↵Araq2018-10-141-87/+34
| | | | | | | | | | | | sizealignoffsetimpl.nim to make it bearable
* | | implement sizeof and alignof operator (manually squashed #5664) (#9356)Timothee Cour2018-10-1413-222/+526
| | |
* | | Make sure the annotation for `||` is avail. at CT (#9354)LemonBoy2018-10-141-0/+8
| | | | | | | | | Closes #9353
* | | dfa.nim: clarify exception handlingAndreas Rumpf2018-10-131-1/+4
| | |
* | | destructors: optimize more assignments into moves; also fixes #9294Andreas Rumpf2018-10-121-7/+78
| | |
* | | compiler: cleanup dfa.nimAndreas Rumpf2018-10-121-21/+25
| | |
* | | don't crash when rendering wrong nkInfix nodesAndreas Rumpf2018-10-121-8/+8
| | |
* | | Add `toOpenArray[T](ptr UncheckedArray[T])` for clarity. (#9316)c-blake2018-10-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add `toOpenArray[T](ptr UncheckedArray[T])` for clarity. `ptr array[0,T]` for some unchecked type already works but A) `UncheckedArray` seems to be the intended future way for this kind of access, and B) essentially all use cases will have a `ptr` for that kind of array source and this call signature lets callers drop the trailing `[]` corresponding to that `ptr` deref. This PR relates to issue https://github.com/nim-lang/Nim/issues/9001 . * Add a test for toOpenArray() for UncheckedArray[T]s.
* | | string to string conversion keeps the dest type (#9323)LemonBoy2018-10-121-1/+1
| | | | | | | | | Fixes #9322
* | | gogc: GCC-8.2.0 compatibility and other improvements (#9211)Ștefan Talpalaru2018-10-113-12/+29
| | | | | | | | | | | | | | | | | | | | | | | | - Go's write barriers are now plugged-in in all the relevant points - "gcGo" is correctly classified by usesWriteBarrier() - some gogc structures and functions now use golib wrappers to keep GCC version-specific conditions out of the compiler/stdlib code - we no longer allow mixing the C malloc with Go's - fix a problem with string copying
* | | fixes #9281Araq2018-10-112-3/+17
| | |
* | | Add procs to retrieve project name, directory and full path to nimscript (#9274)Solitude2018-10-111-0/+6
| | |
* | | fixes #9297 (#9298)cooldome2018-10-113-10/+9
| | | | | | | | | | | | | | | | | | * fixes #9297 * improve spacing
* | | test case for #9180 and re-enables the disabled tcompilerapi test (#9181)Timothee Cour2018-10-111-0/+7
| | | | | | | | | | | | | | | | | | * add findNimStdLibCompileTime and un-disable tcompilerapi test; add test case for #9180 * address comments
* | | compiler: show name of instantiating context in error traces (#6763) (#9207)xzfc2018-10-116-15/+24
| | |
* | | Fix wrong heuristic in codegen (#9293)LemonBoy2018-10-111-1/+7
| | | | | | | | | | | | | | | A bare return may trigger the insertion of a genericReset. Fixes #9286
* | | Unchecked arrays now have their own type (#9267)LemonBoy2018-10-1012-19/+60
| | |
* | | fixes #9263Andreas Rumpf2018-10-101-62/+80
| | |
* | | Fixes #9154 (#9193)manterolat2018-10-102-0/+6
| | |
* | | fix #9264 regression (#9265)Timothee Cour2018-10-091-5/+2
| | |
* | | fixes unexpected transforming of runnableExamples (#9158)Steve Kellock2018-10-093-7/+9
| | |
* | | Fix overload resolution for pragmas evaluation (#8902)LemonBoy2018-10-094-32/+43
| | | | | | | | | | | | Fixes #6448 Fixes #4384
* | | Field checks for everybody (#8957)LemonBoy2018-10-097-44/+149
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Field checks for JS backend * Clean nkCall nodes with no arguments Generating a nkEmpty in place of no arguments makes no sense form the AST point of view and also trips up the VM codegen. * Field checks for VM backend * Test case for #6612 This patchset fixes #6612 * Add test case for LHS double evaluation * Prevent LHS double-eval for JS backend * Prevent double evaluation in VM backend
* | | Try/Catch support for native JS exceptions (#8955)LemonBoy2018-10-092-8/+35
| | | | | | | | | | | | | | | | | | * Try/Catch support for native JS exceptions * Better tests
* | | Fix transformation of yield in inline context (#9135)LemonBoy2018-10-091-15/+28
| | | | | | | | | | | | | | | | | | When the loop variables are part of the envP block it is not safe to use a nkFastAsgn. Fixes #2656
* | | Make the registered passes local to the ModuleGraph (#9259)LemonBoy2018-10-0912-64/+60
| | | | | | | | | Closes #9068
* | | Fix range type construction in the VM (#9205)LemonBoy2018-10-091-2/+9
| | | | | | | | | | | | | | | | | | The `range[X,Y]` representation is wrong, we use `range[X .. Y]` instead. Fixes #9194
* | | fixes #9222 (#9224)cooldome2018-10-091-1/+6
| | |
* | | nim doc can run code blocks (#9228)LemonBoy2018-10-091-24/+32
| | |
* | | Codegen fix for procs taking type(nil) (#9231)xzfc2018-10-091-1/+1
| | |
* | | Prevent the construction of recursive tyStatic types (#9256)LemonBoy2018-10-091-4/+7
| | | | | | | | | Fixes #9255
* | | Add checks for except: body blocks (#9191)Dheepak Krishnamurthy2018-10-092-2/+20
| | |
* | | fixes #4435 (#9185)jcosborn2018-10-091-1/+1
| | |
* | | attempt to fix the .line pragmaAraq2018-10-031-12/+1
| | |