summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* fixes 10697 [backport]Araq2019-02-191-2/+3
|
* fixes #10702 (#10705)Andreas Rumpf2019-02-186-47/+65
| | | | | | * --define:nimQuirky exception handling for Nim; in preparation of a blog post * make it work with latest system.nim * make code more readable * fixes #10702
* Prevent crash on pragma templates w/ generics (#10685)LemonBoy2019-02-181-10/+18
| | | | | | | | | * Prevent crash on pragma templates w/ generics * Remove incorrect call to pragma reconversion `semOverloadedCall` may return a node with more elements than the original nkCall node had (implicit and/or explicit generics).
* fixes #10651Araq2019-02-141-4/+3
|
* fix typo in codeReordering error msg (#10667)Timothee Cour2019-02-142-2/+2
| | | | | | * fix typo in codeReordering * reorder=>codeReordering
* compiler/types: correctly generates signature for non-proc types (#10658)alaviss2019-02-131-1/+9
| | | | This makes signatures generated for nimsuggest correctly distinguish template/macro/converter from proc.
* 32 bit fixes (#10608)Arne Döring2019-02-127-14/+40
|
* reduce debug output (#10638)Arne Döring2019-02-121-58/+63
|
* Fix codegen problem with strict C++ compilers (#10639)LemonBoy2019-02-121-1/+1
| | | | | | Since tyCString is convertible to a tyPointer we must be extra careful to emit a cast to (void*) in order to appease clang++. Reported by masnagam on the Nim forum.
* Propagate tfGcSafe flag to generic instantiations (#10620)LemonBoy2019-02-101-3/+2
| | | Fixes a nasty endless loop in the generic instantiation phase.
* revive #10228 (fix #9880) (#10610)Timothee Cour2019-02-102-13/+13
| | | | | | * Make index out of bounds more useful by including the 'bounds'. * fixes #9880 index out of bounds (remaining cases); revives #10228 * change err msg to: `index 3 not in 0 .. 1`
* fixes #10547Andreas Rumpf2019-02-101-5/+6
|
* Do not walk into type sub-nodes for cast/conv expr (#10616)LemonBoy2019-02-091-0/+6
|
* fixes #6955Andreas Rumpf2019-02-091-3/+7
|
* fixes #10606Andreas Rumpf2019-02-091-2/+4
|
* Print missing case labels (#10600)Arne Döring2019-02-092-1/+26
|
* make tests green againAndreas Rumpf2019-02-081-2/+2
|
* Fix wrong result in tuple assignment (#9340)LemonBoy2019-02-081-0/+34
| | | Fixes #9177
* error messages can have spaces, don't be dyslexicAraq2019-02-081-1/+1
|
* Rework exception handling in the VM (#10544)LemonBoy2019-02-082-110/+171
| | | | | | | | | | | | | | | | | * Rework exception handling in the VM Make the safepoint handling more precise and less forgiving. The new code is clearer and more commented. Perform cleanup on `return`. The no-exception-thrown case in a try block should be slightly faster since we don't parse the whole set of exceptions every time. More tests. * Fix silly error that broke a few tests * Testament doesn't like files having the same name * Remove test case that failed compilation to js
* Fix edge case in type hashing (#10601) [backport]LemonBoy2019-02-082-13/+17
| | | | Empty types introduced by a template produced the same hash of the "clean" type sharing the same name.
* Stop useless suggestion of unsafeAddr (#10598)LemonBoy2019-02-082-2/+7
| | | Fixes #10594
* compiler/[msgs, suggest]: improve highlighter accuracy (#10496)alaviss2019-02-072-3/+42
| | | | | | | | | | Previously the compiler would generate suggestions based on the symbol identifier length, but that might not reflect the actual representation of it within the actual source code. This commit implements a simple source scanner for the suggest module to address the problem outlined above. Fixes nim-lang/nimsuggest#24
* Fix codegen when debugger is enabled (#10595)LemonBoy2019-02-071-4/+5
| | | | | Decrement the frame length before closing the parent scope. Fixes #10589
* Fix handling of reraise in effect tracking (#10582)LemonBoy2019-02-071-5/+11
| | | | | | This is the MVP in order not to get a completely useless error message from the compiler. Fixes #10579
* fixes #10585Araq2019-02-071-2/+5
|
* helpers2 now has a real nameAraq2019-02-072-2/+2
|
* ignore nkCommentStmt in lambda liftingAndreas Rumpf2019-02-061-1/+1
|
* fixes some bugAndreas Rumpf2019-02-061-0/+1
|
* Reject assignments with nkEmpty RHS (#9000)LemonBoy2019-02-061-7/+9
| | | Fixes #8997
* Merge pull request #10577 from zielmicha/fix-10568LemonBoy2019-02-061-1/+1
|\ | | | | Fixes #10568: Fix null pointer dereference in address computation for incrSeqV3.
| * Fixes #10568: Fix null pointer dereference in address computation.Michał Zieliński2019-02-061-1/+1
| | | | | | | | According to https://hownot2code.com/2016/08/18/null-pointer-dereferencing-causes-undefined-behavior/ this was an undefined behaviour.
* | Avoid evaluating macros twice in type sections (#10550)LemonBoy2019-02-061-0/+5
| | | | | | Fixes #10548
* | Do not raise ProveInit/WanrUninit for .noinit. var (#10566)LemonBoy2019-02-061-1/+4
|/
* fixes a lexer regression for 'nimble check'Araq2019-02-051-3/+4
|
* Vm bitops fixes (#10520)Arne Döring2019-02-053-1/+14
|
* compiler: don't use 2 spaces in an error messageAraq2019-02-041-1/+1
|
* make the lexer more forgiving so that nim-regex compiles againAraq2019-02-041-11/+17
|
* Implement {.booldefine.} (#10533)Oscar Nihlgård2019-02-036-14/+22
|
* devel docs should point to devel src (#10529)Miran2019-02-021-1/+2
| | | | | Currently, devel docs (https://nim-lang.github.io/Nim/lib.html) source links point to master branch, leading to outdated source code and showing the wrong line.
* Fix vm signed xor (#10519)Arne Döring2019-02-011-2/+5
| | | | | | | | | | * fix #10482 * undo changes * fix for bitwise not * remove dead opcode
* vm fix for bitwise signed ints (#10507)cooldome2019-01-311-4/+4
| | | | | | | | * fixes #10482 * add missing file * bug fix
* fixes #10042 (allow spaces in import) (#10504)Miran2019-01-311-1/+0
| | | | | This allows spaces in imports, by using the following syntax: * `import "directory with spaces" / subdir / file`, or * `import "directory with spaces/subdir/file"`
* fixes silly typo causing tons of async regressionsAraq2019-01-301-1/+1
|
* destructors: do not produce strong backrefs in closure environments so that ↵Araq2019-01-301-4/+17
| | | | refcounting works
* The `file` directive is relative to the file it is inLemonBoy2019-01-301-1/+1
|
* Make sure the test snippet directory existsLemonBoy2019-01-301-5/+7
|
* gc: destructors is beginning to work (#10483)Andreas Rumpf2019-01-2910-53/+89
| | | | | | | | | | | | | | | | * kochdocs.nim: code cleanup * docgen: nicer indentation * parser.nim: code cleanup * fixes #10458 * make tests green again * make =destroy mixins * gc:destructors: produced C code is almost working * --gc:destructors simple program compiles (but leaks memory) * gc:destructors make examples compile in C++ mode * destructors: string implementation bugfixes * strs.nim: minor code cleanup * destructors: builtin seqs are beginning to work * remove debugging helpers
* Fixes https://github.com/nim-lang/Nim/issues/8484 (#10470) [backport]Neelesh Chandola2019-01-281-1/+2
|
* Fixes #10352 (#10416)slangmgh2019-01-281-10/+14
|