summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* Fix #12595 (#16874)konsumlamm2021-01-311-0/+4
|
* nimsuggest prioritize non-deprecated suggestions (#16816)Saem Ghani2021-01-291-15/+27
| | | | | | | | | | | * penalizes the quality score of deprecated symbols * uses quality more pervasively in order to reflect deprecation impact * impacts both sug and con additional notes: * linux i386 CI was failing * this is because the suggested results differ slightly in their sort * 64 bit tables.getOrDefault:441 was returned, while 32 bit returned 422 * for now simply removing the last line is good enough
* close #16844 (#16852)flywind2021-01-291-0/+14
| | | | | | * close #16844 * better * comment * Update compiler/renderer.nim
* remove conditionals on nimHasUserErrors, nimNoNilSeqs2, nimNoNilSeqs (#16861)Timothee Cour2021-01-299-56/+12
| | | | | | | | | * cleanup docs for type(nil) | type(nil); simplify nimHasUserErrors * simplify nimNoNilSeqs2 * simplify nimNoNilSeqs * fixup
* fix #16815 round(x,places) works again in vm (#16825)Timothee Cour2021-01-282-1/+11
| | | | | | | * fix #16815 round+places works again in vm * improve tests; fix for linux 32bit * fix test for windows
* fix #16752: threadvar now works with importcpp types; osx now uses native ↵Timothee Cour2021-01-275-10/+22
| | | | | | | | | | | TLS (`--tlsEmulation:off`), which can be orders of magnitude faster (#16750) * osx now uses native TLS, which can be orders of magnitude faster * add {.cppNonPod.} * improve test * changelog, docs, disable part of windows test
* IC: final implementation steps (#16801)Andreas Rumpf2021-01-2512-105/+259
| | | | | | | | * removed dead code * we need even more laziness for the generic caches * make it bootstrap on older Nims * wrote more deserialization code * IC: replay required methods information
* fixed nim-lang/nimsuggest#48 type aware sug (#16814)Saem Ghani2021-01-251-2/+7
| | | | * suggesting identifiers accounts context over scope (distance) * key takeaway: context fit is prioritized over a heuristics like scope
* Finer analysis for array access (#16787)Clyybber2021-01-242-29/+75
| | | | | * Refine the analysis for array access * Cleanup * Add comments
* IC: next steps (#16729)Andreas Rumpf2021-01-2332-323/+729
| | | | | | | | | | | * IC: dead code elimination pass * preparations for a different codegen strategy * added documentation to the newly written code * IC: backend code * IC: backend adjustments * optimized the compiler a bit * IC: yet another massive refactoring * fixes regressions * cleanups
* Part-to-whole optimization (#16775)Clyybber2021-01-211-15/+16
|
* some comments for amd64 and nimvm CPU (#16756)Timothee Cour2021-01-201-1/+2
|
* Reboot of #16195 (#16746)Clyybber2021-01-201-58/+85
| | | | | | | | | | | | | | | | | | | | | | | | | * fix #16185 * fix test * fix comment * fix comment * better approach * Add more tests and move sameLocation to injectdestructors * Better and more strict sameLocation * Small cleanup and preliminary spec clarification * Fix * Fix doc * Expand test Co-authored-by: Andrey R (cooldome) <ariabushenko@gmail.com>
* `--hintAsError` (#16763)Timothee Cour2021-01-205-7/+18
| | | | | | | * --hintAsError * add test, changelog * condsyms
* Deprecate TaintedString (#15423)Juan Carlos2021-01-152-3/+2
| | | | Co-authored-by: Timothee Cour <timothee.cour2@gmail.com> Co-authored-by: Dominik Picheta <dominikpicheta@googlemail.com>
* Fix 16722 (#16730)cooldome2021-01-153-3/+6
| | | | | | | * fix #16722 * fix spacing * spacing
* conservative approach to fix #15184 (#16723)Andrey Makarov2021-01-151-10/+19
|
* IC: next steps (#16705)Andreas Rumpf2021-01-1414-277/+289
| | | | | | | | | | | * code cleanups * refactorings for IC * more refactorings for IC * IC: attach the 'nil' type to its module * IC: refactorings and improvements * IC: progress * IC: more serialization fixes * IC: embarrassing omission * code cleanups
* improve formatting of error message when runnableExamples fails (#16677)Timothee Cour2021-01-131-1/+6
|
* fixes nim-lang/nimsuggest#103 con dot exprs (#16657)Saem Ghani2021-01-121-0/+1
| | | | - con calls for dot exprs now returns results - discovered an issue with dot expr results -- documented
* IC: next steps (#16632)Andreas Rumpf2021-01-1218-771/+475
| | | | | | | | | | | | | * removed dead code * beginnings of a rodfile reader * IC: record global VM state changes and pragma state changes * IC: replay pragmas and VM state changes * implemented rod load file simuation for easier, extensive testing * critical bugfix * IC: stress test logic; should also help with recursive module dependencies; WIP * IC: loading from .rod files begins to work reliably * removed ugly hacks * yet another silly mistake
* RST: implement internal targets (#16614)Andrey Makarov2021-01-111-1/+1
|
* fix #13517 (#16681)flywind2021-01-111-3/+3
|
* fix negative nan (#16628)flywind2021-01-112-3/+15
|
* fixed nim-lang/nimsuggest#82 pure enum field sug (#16676)Saem Ghani2021-01-111-10/+11
| | | | - previous code wasn't account for tyEnum being wrapped in tyTypeDesc - now pure enum fields are suggested
* fix #16555, fixes #16405: len, high honors '\0' for cstring in vm (#16610)Timothee Cour2021-01-113-5/+12
|
* fix #16651 (#16658)cooldome2021-01-111-0/+7
| | | | * fix #16651
* fix #16650 (#16660)flywind2021-01-101-1/+6
|
* compiler: minor refactoring (#16633)Andreas Rumpf2021-01-081-12/+11
|
* happy new year 2021 again (#16638)Andrew2021-01-081-1/+1
|
* IC: next steps (#16550)Andreas Rumpf2021-01-0735-400/+653
| | | | | | | | | | | | | | | | | | * cleanups * ast.nim: cleanups * IC: no more sym.tab field, stored externally in the module graph * nimble compiles again * rodfiles: store bitwidth of integers and the endianness in the cookie because we serialize 'int' directly * rodfiles: added compilerproc and export sections * rodfiles: added all the missing sections * rodfiles: track the missing information * IC: architecture for lazy loading of proc bodies * make tests green again * completed the lazy loading of proc bodies * symbol lookup integration, part 1 * symbol lookup integration, part 2 * symbol lookup integration, part 3 * make tcompilerapi work again * rodfiles: fixed config change handling
* add math.signbit (#16592)flywind2021-01-071-0/+6
|
* [backport 1.0] add backend support for js bigint (#16606)Timothee Cour2021-01-062-1/+5
| | | | | | | | | | | | | * add backend support for js bigint * cleanup * add tests * add -d:nimHasJsBigIntBackend * cleanup * more tests
* fixes nim-lang/nimsuggest#119 outline includes (#16608)Saem Ghani2021-01-061-3/+13
| | | | | | nimsuggest outline should account for includes, now it does: - the module prefix will be of the module doing the including - the filename will be of the module that was included - adds a test case for it
* fix #16516 method dispatch for sink args (#16594)cooldome2021-01-061-1/+1
| | | | | | | * fix #16516 * fix comment * Trigger build
* make --gc:arc --exceptions:quirky work again [backport:1.4] (#16583)Andreas Rumpf2021-01-042-2/+4
| | | | | * make --gc:arc --exceptions:quirky work again [backport:1.4] * fixes #16404 [backport:1.4]
* continue #15456 add #pragma directives compiler support (#16472)flywind2021-01-041-6/+13
| | | | | * continue #15456 * follow the advice from juan_carlos
* fix #16526 run config.nims before foo.nim.cfg (#16557)Timothee Cour2021-01-021-2/+2
| | | | | * fix #16526 run config.nims before foo.nim.cfg * add test
* fix `is "closure"` (#16552)flywind2021-01-021-2/+1
|
* fix #16206, `nim r / nim -r` recompiles if cwd changes (#16349)Timothee Cour2021-01-021-2/+13
|
* big steps torwards an efficient, simple IC implementation (#16543)Andreas Rumpf2021-01-0255-1717/+1429
| | | | | | | | | | | | | | | | | | | * reworked ID handling * the packed AST now has its own ID mechanism * basic serialization code works * extract rodfiles to its own module * rodfiles: store and compare configs * rodfiles: store dependencies * store config at the end * precise dependency tracking * dependency tracking for rodfiles * completed loading of PSym, PType, etc * removed dead code * bugfix: do not realloc seqs when taking addr into an element * make IC opt-in for now * makes tcompilerapi green again * final cleanups Co-authored-by: Andy Davidoff <github@andy.disruptek.com>
* fix #14340 (#16386)Timothee Cour2021-01-011-1/+3
|
* Add math.copySign (#16406)flywind2020-12-301-0/+6
| | | | | * add math.copySign * fix + tests
* fix `hintProcessing` dots interference with `static:echo` and `hintCC`; add ↵Timothee Cour2020-12-306-13/+21
| | | | | | | | | | tests for `nim secret`, add tests for hintProcessing, misc other bug fixes (#16495) * fix dots interfering with static:echo * add tests * fix hintProcessing dots for hintCC * improve trunner tests * fix bug: readLineFromStdin now writes prompt to stdout, consistent with linenoise and rdstdin * disable a failing test for windows
* move asciitables to std/private/ (#16498)flywind2020-12-293-85/+3
| | | | | * move asciitables * minor
* use -d:nimCompilerStackraceHints in more places (#16400)Timothee Cour2020-12-291-0/+5
|
* Nil type check implementation (#15287)Alexander Ivanov2020-12-299-14/+1415
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Nil checking * Enable current older not nil checking again, run new checking only under flag, skip our test * Enable tests, work on try/except and bugs, fix notnil tests * Enable strictNotNil tests (currently with lowercase category) and add some expected output * Work on try/except/finally: still some things unclear and a lot of code can raise out of try * Fix the notnil build by going back to the old version of a test which I shouldn't have changed * Fix test : use action compile * Work on mutation and aliasing: not finished * Render var parititions graph, try to understand it, fix a nilcheck if bug * Rebase, progress on working with partitions * Improve time logic * Fix some bugs, use graph indices instead of symbol in nil map * Fix bugs, test simpler ident aliasing for now, support two mutation levels * Support ContentMutation and ReAssignment: for now just detect possible re assignment for var parameters of calls * Enable several simple passing tests * Cleanup a bit, fix condition/branch infix-related bug * Remove some files, address some comments by Araq * Use internalError and no quit for now * Separate tests with expected warnings and with expected ok, fix a bug with if with a single branch related to copyMap * Fix new data structures, bugs: make tests pass, disable some for now * Work on fixing errors with non-sym nodes, aliasing: tests fail * Work on alias support: simple set-based logic, todo more tests and ref sets? * Use ref sets: TODO can we think of handle seq-s similar to varpartitions' Araq ones * Handle defers in one place, stop raising in reverse to make an async test compile with strictNotNil, add a commented out test * Dot expressions: call/reassignment. Other refactorings and distinct, SeqOfDistinct support. Checkout an older varpartitions * Work on field tracking * Backup : trying to fix bugs when running some stdlib stuff for running an async test * Start a section about strict not nil checking in experimental manual * Fix experimental strict not nil manual section and move it to another file based on Araq feedback * Fix unstructured flow and double warning problems, fix manual, cleanup * Fix if/elif/else : take in account structure according to Araq feedback * Refactor a bit * Work on bracket expr support, re-enable tests, clarify in manual/tests/implementation static index support for now * Work on compiling stdlib and compiler with strictNotNil * Small fixes to the manual for strictNotNil * Fix idgen for strict check nil rebase * Enable some simple tests, remove old stuff, comment out code/print * Copy the original varpartitions source instead of my changes * Remove some files
* fix `nim secret` dots interfering with prompt (#16491)Timothee Cour2020-12-283-4/+9
| | | | | * fix nim secret dots * cleanups
* fix #15043 (#16441) [backport:1.4]cooldome2020-12-271-5/+7
| | | | | * fix #15043 * Trigger build
* Revert #16478 (#16483)flywind2020-12-271-1/+1
| | | | | | | * minor * Revert "minor" This reverts commit ef1807cbb468bffdcfffb41f023644b57fb0fe11.