summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'devel' into araq-quirky-exceptionsAndreas Rumpf2019-02-0854-1061/+1806
|\
| * 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
| |
| * suggest: quote operators and keywords on suggestion (#10460)alaviss2019-01-281-2/+6
| |
| * isLastRead regression fix (#10463)cooldome2019-01-282-10/+15
| | | | | | | | | | | | * fixes #10462 * add a test
| * semcall: correct lineinfo for accquoted symbols (#10461)alaviss2019-01-271-1/+1
| |
| * Fix exception tracking in try blocks (#10455)LemonBoy2019-01-271-1/+9
| | | | | | | | | | | | Exceptions raised inside a nkFinally/nkExcept block are not caught by the block itself. Fixes #3886
| * fixes double object field symbol lookups (no test case available) (#10450)cooldome2019-01-251-1/+5
| |
| * docgen: style tweakAraq2019-01-251-1/+1
| |
| * docgen: do not produce trailing commas for linksAraq2019-01-251-7/+10
| |
| * docgen: produce links for proc namesAraq2019-01-251-6/+16
| |
| * docgen: nicer indentationAraq2019-01-251-22/+22
| |
| * fix #9556 (#10445)Miran2019-01-241-1/+1
| | | | | | | | | | | | | | | | | | The old logic wasn't very useful because `relPath` is almost always shorter than `absPath`, e.g. `../../../../../` is shorter than `C:\Program Files`. This way allows the usage of a relative path for at most two levels deep, e.g. `../../relPath`, otherwise the absolute path is used.
| * compiler/sem: correct macros lineinfo (#10438)alaviss2019-01-241-4/+5
| | | | | | | | | | | | | | | | | | The compiler believes these are where a macro call starts (marked with `^`): m "string" ^ ^ This commit addresses that.
| * free some registers after usage, allows more complex macros (#10443)Arne Döring2019-01-241-0/+6
| |
| * make DLLs tests compile again; remove dependency on nimbase.h slightlyAraq2019-01-231-2/+16
| |
| * improve the generated code size for --gc:regionsAraq2019-01-231-1/+1
| |
| * compiler/sem*: better lineinfo for templates (#10428)alaviss2019-01-232-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * compiler/sem*: better lineinfo for templates Lineinfo for templates is inconsistant across the compiler, for example: doAssert true ^ ^ a[int](10) ^^ ^ The `^` marks where the compiler thinks the template starts. For qualified call, we got the same situation with `proc`s before #10427: system.once ^ Generics lineinfo within template declaration is also incorrect, for example, this is where the compiler believes the `T` in `[T]` is: template a[T](b: T) ^ This PR addresses all of these problems. * nimsuggest: add tests for template highlighting