summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* 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
* fix #10339 by returning type attached to nkEmpty (#10370)Vindaar2019-01-231-1/+1
| | | | | | | | | | | | | | | * fix #10339 by checking for nkObjConstr * revert check for nkObjConstr, return type from nkEmpty node The correct type needed in `semObjConstr` to fix #10339 is indeed available, but attached to an `nkEmpty` node. These were previously discarded in `semTypeNode`, which is used to extract the type for the object. * simplify return of PType from `nkEmpty` * also fixes #9866, add test case
* Fixes #10263; [backport]Ico Doornekamp2019-01-231-1/+1
|
* Harmonize the var/let and const handling (#10410)LemonBoy2019-01-231-4/+14
| | | Fixes #10333
* Added --docInternal option to allow 'nim doc' to include non-exported symbolsIco Doornekamp2019-01-233-1/+7
|
* use the lastRead analysis; it's correct by construction, not a mess of ↵Andreas Rumpf2019-01-231-2/+2
| | | | special cases and seems to be just as fast as the old algorithm
* destroyer.nim: code cleanupAndreas Rumpf2019-01-231-67/+0
|
* make tests green againAndreas Rumpf2019-01-231-50/+81
|
* control flow graphs: introduce 'join' points for easy analyses based on ↵Andreas Rumpf2019-01-233-154/+395
| | | | abstract interpretation
* compiler/sem*: improve lineinfo for qualified and generic procs (#10427)alaviss2019-01-233-19/+29
| | | | | | | | | | | | | | | | Previously the compiler will believe these are where `newSeq` symbol starts: newSeq[int]() ^ system.newSeq[int]() ^ This commit moves them back to: newSeq[int]() ^ system.newSeq[int]() ^
* Fix semantic analysis with noReturn proc in tail pos (#10422)LemonBoy2019-01-231-1/+2
| | | Fixes #10417
* Fix for issue #10342. better message for generic subclass instantiation (#10354)Ray Imber2019-01-222-3/+21
| | | * Fix for issue #10342. better message for generic subclass instantiation errors.
* Restore compatibility with old vcc versions [backport] (#10415)LemonBoy2019-01-221-14/+14
| | | | | Local variables are declared before anything else. Fixes #10352
* Restrict ptr/ref to ptr/ref implicit conversion (#10411)LemonBoy2019-01-221-1/+1
| | | | | | | | * Restrict ptr/ref to ptr/ref implicit conversion Fixes #10409 * Make the ptr conversions explicit in db_odbc
* Fix compileTime pragma applying to whole var/let section (#10389)Neelesh Chandola2019-01-221-6/+4
|
* Object downconversion in VM should not copy (#10378)LemonBoy2019-01-221-0/+5
| | | | | | Hopefully the type-check phase already rejected all the invalid conversions by the time we execute the VM bytecode. Problem reported by chrisheller on the Nim Forum
* Finalizer proc must be global (#10388)LemonBoy2019-01-221-0/+5
| | | Fixes #10376
* Fix gorge caching (#10407)genotrance2019-01-221-2/+2
|
* Fix subtype conversion w/ varargs arguments (#10402)LemonBoy2019-01-211-2/+3
| | | | | | | | | The type matching is done on the `T` of the `varargs[T]` so the conversion must be performed to `T` and not to the whole type. This problem is only noticeable with the cpp backend since C doesn't give a damn shit about your fucking (wrong) types. Fixes #9845
* Proper check for tyStatic[T] -> U conversions (#10382)LemonBoy2019-01-211-0/+2
| | | | | Drop the outer tyStatic shell then perform the check. Fixes #7609
* Support system.reset in vm (#10400)Oscar Nihlgård2019-01-213-4/+4
|