summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* improve vmgen.codeListing formatting (#10306)Timothee Cour2019-01-153-14/+26
| | | | | * improve vmgen.codeListing formatting * address comments
* fix #10305 nim cpp is now nan-correct at CT (#10310)Timothee Cour2019-01-151-4/+4
| | | | | * fix #10305 nim cpp is now nan-correct at CT * add example where simply `nim cpp -d:release` would exhibit nan bug
* fixes #10203 (#10290)Andreas Rumpf2019-01-152-16/+14
| | | | | | * fixes #10203 * make typredef test green again * fixes the regressions differently
* typed/untyped return type is invalid for everything except templates and ↵Neelesh Chandola2019-01-152-5/+5
| | | | macros (#10275)
* fix #9842 #9951: `nim -r` and parseopt.cmdLineRest are now correctTimothee Cour2019-01-141-1/+1
|
* improve formatting in assertEqualsTimothee Cour2019-01-141-7/+8
|
* fixes #7878Araq2019-01-141-1/+1
|
* fixes #7524Araq2019-01-142-9/+13
|
* Add stdin read support to nimscrit #3983 (#10292)genotrance2019-01-141-3/+12
|
* fixes #10075 [backport]Araq2019-01-131-2/+1
|
* fixes #10136Araq2019-01-131-2/+2
|
* fixes #10104Araq2019-01-131-6/+12
|
* improve error messages quality for '.push: raises []'Araq2019-01-131-0/+7
|
* Fixes 10202 (#10283)rec2019-01-121-2/+2
| | | | | | * Add a test case for #10202 * Fix asgn for object tyVars; fixes #10202 * Check the variant kind before accessing the sym field
* docgen: support markdown link syntax; enable markdown extensionsAraq2019-01-111-2/+2
|
* Cleanup comesFromPush logic (#10278)Neelesh Chandola2019-01-111-8/+1
|
* fixes #10216 (#10270)Andreas Rumpf2019-01-111-8/+11
|
* fixes #10240 (#10269)Andreas Rumpf2019-01-111-2/+4
| | | | | | * kochdocs.nim: code cleanup * fixes #10420
* void object fields are now ignored by codegen and fields/fieldPairs iterator ↵Neelesh Chandola2019-01-103-0/+7
| | | | | | | | | (#10144) * Codegen now ignores object fields of type void * Fix `$` bug for objects/tuples where it does not add a comma * fields/fieldPairs iterators now ignore void types * Use `isEmptyType` instead of checking for `tyVoid` directly
* fixes #10251 (#10255)Arne Döring2019-01-101-1/+1
|
* destructors: lift type bound operations for case and distinct objects (#10238)cooldome2019-01-101-5/+41
|
* add `alignTable`, `parseTableCells` to align/format a tab(etc) delimited ↵Timothee Cour2019-01-092-0/+120
| | | | | | | | table (#10182) * add compiler/unittest_light.nim for easy diffing: assertEquals and mismatch * fixup * add alignTable, parseTableCells
* fix leftover comment from #9766Timothee Cour2019-01-081-7/+5
|