summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* 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
* clean up old codes (#16284)flywind2020-12-091-1/+0
| | | | | | | * clean up old codes * fix docs and links * clean
* put both funcs and procs under the same section in the documentation (#16301)Miran2020-12-091-8/+2
| | | | | * both funcs and procs are under the same section in the documentation * update the test
* OSX: support for M1 [backport:1.0] (#16279)Andreas Rumpf2020-12-071-1/+1
|
* [docs minor]space for code-block (#16266)flywind2020-12-063-4/+6
| | | | | | | | | * [docs minor]space for code-block * correct more errors * to runnableExamples * add newline
* fixes #16249 [backport:1.4] (#16251)Andreas Rumpf2020-12-051-1/+1
|
* Add 32-bit RISC-V support (#16231)Alf-André Walla2020-12-032-2/+3
|
* fixes #15939, fixes #15464, fixes #16169, fixes #16226 VM now supports ↵Timothee Cour2020-12-033-5/+27
| | | | | | | | | `addr(mystring[ind])` (index + index assignment) (#15987) * fix #15939, fix #15464 VM now supports `addr(mystring[ind])` (index + index assignment), var char return etc * cleanups * cstring tests * add test for bug #15464 * improve test coverage
* fix #16164, render doc comments (#16230)Miran2020-12-021-1/+1
| | | | | * fix #16164, render doc comments * add a test
* fixed article duplication typos (#16216)ihlec2020-12-021-1/+1
|