summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Correct lineinfo for accent quoted symbols in proc definition (#10399)alaviss2019-01-212-11/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * compiler/parser: preserve lineinfo for accent quoted symbols Previously the lineinfo for symbol $$$ in this example is: proc `$$$` ^ After this commit: proc `$$$` ^ * compiler/semstmts: correct lineinfo for accent quoted idents Previously nimsuggest would highlight this as: proc `$$$` ^~~ After this commit: proc `$$$` ^~~ * nimsuggest/tests: add a test for accent quoted proc Disabled by default
* Fix error lexer error messages for to large numbers (#10394)Oscar Nihlgård2019-01-211-33/+29
|
* Fix spelling errors (#10379)Federico Ceratto2019-01-191-1/+1
|
* fix #9629 every binary cmd line option allows on/off/empty=on (#10353)Timothee Cour2019-01-181-40/+22
| | | | | | * fix #9629 every binary cmd line option allows on/off/empty=on * workaround refs #10359
* destructors: first step towards fixing #9617 (#10341)cooldome2019-01-184-67/+87
|
* Properly wrap discarded statements (#10322)LemonBoy2019-01-172-12/+16
| | | | | | Failing to do so lead the codegen to emit invalid code sometimes, especially when C++ references were involved. Fixes #10241
* Added support for --genDeps on JS backend (#10320)nepeckman2019-01-151-0/+3
|