summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* 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.
* fix #16469 vm float constants: do not conflate -0.0 and 0.0 (#16470)Timothee Cour2020-12-271-1/+6
| | | | | * fix #16469 vm float constants: do not conflate -0.0 and 0.0 * fix test for 32bit
* minor (#16478)flywind2020-12-271-1/+1
|
* fix #16346 rst2html now honors SuccessX (#16347)Timothee Cour2020-12-262-4/+11
| | | | | | | | | | | * fix #16346 SuccessX rst2html * cleanups * _ * _ * _
* [backport => 1.0] fix #16428 vmops now works for generic procs (#16429)Timothee Cour2020-12-221-10/+2
| | | | | * fix #16428 vmops now works for generic procs * remove duplication
* misc cleanups (#16383)Timothee Cour2020-12-182-4/+5
|
* refactorings to prepare the compiler for IC (#15935)Andreas Rumpf2020-12-1721-176/+1223
| | | | | | | | | | | | | | * added ic specific Nim code; WIP * make the symbol import mechanism lazy; WIP * ensure that modules can be imported multiple times * ambiguity checking * handle converters and TR macros properly * make 'enum' test category green again * special logic for semi-pure enums * makes nimsuggest tests green again * fixes nimdata * makes nimpy green again * makes more important packages work
* fix #16248 forward --lib to runnableExamples (#16350)Timothee Cour2020-12-141-1/+2
|
* fix #16334 (#16335)RSDuck2020-12-142-6/+14
| | | | | | | | | * fix #16334 * rename isstdout -> isStdout * separate lastMsgWasDot for stdout and stderr * simplify logic
* fix #16265; fix #13999 (HCR on OSX); cgen now does not line wrap string ↵Timothee Cour2020-12-142-3/+8
| | | | | | | | | | | | | | | | | litterals (#16329) * fix #16265: cgen now does not line wrap string litterals which, in combination with other hacks, caused a really obscure looking bug * fix #13999; nimhcr_integration.nim now works for osx * try to make appveyor CI disappear * disable openbsd + add diagnostic for openbsd * enable for openbsd * PTEMP * re-disable openbsd
* fix #16150 improve type mismatch errors (#16152)Timothee Cour2020-12-095-7/+11
| | | | | | | * fix #16150 improve type mismatch errors * allow -d:nimLegacyTypeMismatch * address comment