summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
...
* js -r defines nodejs & program result undeclared if unavailable (#21849)metagn2023-05-241-0/+6
| | | | | | | | | | | * js -r defines nodejs & program result undefined if unavailable fixes #16985, fixes #16074 * fix * add changelog too * minor word change
* actually fixes #21889 "constructor pragma doing nothing in globals" (#21897)Juan M Gómez2023-05-242-21/+44
| | | actually fixes #21889
* fix #21896 asign parameter to global variable generates invalid code (#21900)Bung2023-05-241-1/+1
|
* fixes #21863; Incorrect enum field access can cause internal error (#21886)ringabout2023-05-241-1/+1
| | | fixes 21863; Incorrect enum field access can cause internal error
* small refactor in preparation to fix #21889 (#21892)Juan M Gómez2023-05-231-17/+23
|
* Fix jsgen (#21880)Juan Carlos2023-05-231-0/+5
| | | | | | | | | | | * . * Fix jsgen FrameInfo * Fix jsgen FrameInfo * . * Move to PProc
* fix #21251 Compiler SIGSEGV when using SharedTable (#21876)Bung2023-05-231-0/+2
| | | fix #21251
* Fixed generic parameters failing to be used in inheritance (#21866)Jason Beetham2023-05-211-11/+24
|
* implements: "Allow bycopy to work in params #21874" (#21877)Juan M Gómez2023-05-213-4/+9
| | | | | | | | | * implements: "Allow bycopy to work in params #21874" * Update compiler/pragmas.nim --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* implements allow byref to work in params #21873 (#21875)Juan M Gómez2023-05-217-47/+62
|
* fix #14254 (#21837)metagn2023-05-202-3/+9
| | | | | | | * fix #14254 * use temporary PR branch for neo * fix url
* refactor gettypedesc so it accepts its own kind instead of symkind (#21867)Juan M Gómez2023-05-194-81/+100
|
* potential fix for C++ codegen with ARC/ORC and goto exceptions fixes #21579, ↵heterodoxic2023-05-191-1/+2
| | | | | fixes #21862 (#21868) potential fix for C++ codegen with ARC/ORC and goto exceptions
* Cpp Vfunctions draft (#21790)Juan M Gómez2023-05-177-13/+192
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * introduces virtual pragma, modifies proc def, prevents proc decl * marks virtual procs as infix * forward declare vfuncs inside the typedef * adds naked callConv to virtual * virtual proc error if not defined in the same top level scope as the type * first param is now this. extracts genvirtualheaderproc * WIP syntax * supports obj. Removes the need for the prefix * parameter count starts as this. Cleanup * clean up * sem tests * adds integration tests * uses constraint to store the virtual content * introduces genVirtualProcParams --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fixes #21708; skip colons for tuples in VM (#21850)ringabout2023-05-171-1/+7
| | | | | | | * fixes #21708; skip colon for tuples in VM * skip nimnodes * fixes types
* fix #21848 (#21852)heterodoxic2023-05-151-7/+8
|
* isolation spec update; WIP (#21843)Andreas Rumpf2023-05-145-6/+87
| | | | | | | | | | | * isolation spec update; WIP * wip * docs update, WIP * progress * Update doc/manual.md
* improve `wasMoved` hooks; allow reset to use the overridden `wasMoved` hook ↵ringabout2023-05-124-16/+34
| | | | | | | (#21831) * improve `wasMoved` hooks * Because `wasMoved` is lifted
* fixes #21840; nested local template lookup regression (#21841)ringabout2023-05-121-7/+7
| | | | | | | * fixes #21840; nested local template lookup regression * use original types * fixes js vm tests
* make deprecated statement a no-op (#21836)metagn2023-05-126-55/+30
|
* cursor fields cannot form reference cycles (#21832)ringabout2023-05-111-9/+12
| | | | | | | * cursor fields cannot form a reference cycle * fixes typo * fixes position
* adds documentation for `=wasMoved` and `=dup` hooks and small fixes (#21827)ringabout2023-05-113-3/+5
| | | | | | | | | | | * adds documentation for `=wasMoved` and `=dup` hooks and small fixes * Update doc/destructors.md * Update doc/destructors.md --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* bring #21802 back; fixes #21753 [backport] (#21815)ringabout2023-05-116-26/+51
| | | | | | | | | | | | | * bring #21802 back; fixes #21753 [backport] * adds tests and multiple fixes * add test cases * refactor and remove startId * fixes custom hooks and adds tests * handle tyUncheckedArray better
* clean up SOME pending/xxx/issue link comments (#21826)metagn2023-05-114-21/+3
| | | | | * clean up SOME pending/xxx/issue link comments * great
* Remove LineTooLong (#21819)Juan Carlos2023-05-113-7/+1
| | | | | | | * LineTooLong refactor to make it actually useful * Improve error message * changelog wording * Fix typo
* fix #9423 followup #17594: distinct generics now work in VM (#21816)ringabout2023-05-101-3/+12
| | | | | | | | | * fix #9423 distinct generics now work in vm * fixes cpp tests --------- Co-authored-by: Timothee Cour <timothee.cour2@gmail.com>
* ignore inline hint for dynlib procs in codegen [backport] (#21817)metagn2023-05-091-14/+14
|
* adds an experimental `mm:atomicArc` switch (#21798)ringabout2023-05-0818-44/+47
|
* fixes #21801; object field initialization with overloaded functions (#21805)ringabout2023-05-081-1/+1
| | | | | * fixes #21801; object field initialization with overloaded functions * use the correct type
* revert #21799 and #21802 which don't pass the tests (#21804)ringabout2023-05-071-6/+3
| | | | | | | | | * Revert "ORC: make rootsThreshold thread local [backport] (#21799)" This reverts commit b74d49c037734079765770426d0f5c79dee6cf87. * Revert "fixes #21752 [backport] (#21802)" This reverts commit d0c62fa169f3970653ce0d5bbd16e123efb24251.
* fixes #21280; Enum with int64.high() value crashes compiler (#21285)ringabout2023-05-061-1/+6
| | | | | | | | | | | | | | | * fixes #21280; Enum with int64.high() value crashes compiler * Update tests/enum/tenum.nim * Update tests/enum/tenum.nim * fixes tests * Update tests/enum/tenum.nim --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* implement `=dup` hook eliminating `wasMoved` and `=copy` pairs (#21586)ringabout2023-05-068-15/+89
| | | | | | | | | | | | | | | | | | | * import `=dup` hook eliminating `wasMoved` and `=copy` pairs * add dup * add a test for dup * fixes documentation * fixes signature * resolve comments * fixes tests * fixes tests * clean up
* some Token refactors (#21762)metagn2023-05-063-31/+26
| | | | | | | | | | | | | | | * test some Token refactors * fix CI * showcase for more reductions, will revert * Revert "showcase for more reductions, will revert" This reverts commit 5ba48591f4d53e8d83a27de8b03d26c6178dd3d1. * make line and column int32 * remove int32 change
* fixes #21753 [backport] (#21802)Andreas Rumpf2023-05-061-3/+6
|
* Fix some `styleCheck` bugs (#20095)quantimnot2023-05-062-6/+11
| | | | | | | | | | | refs #19822 Fixes these bugs: * Style check violations in generics defined in foreign packages are raised. * Builtin pragma usage style check violations in foreign packages are raised. * User pragma definition style check violations are not raised. Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
* fixes #21704; remove nfIsRef for genLit in VM (#21765)ringabout2023-05-061-0/+1
| | | | | | | | | | | | | * fixes #21704; remove `nfIsRef` for genLit * remove nfIsRef from the output of macros * make the logic better * try again * act together * excl nfIsRef
* consistent use of scForceOpen for generic dot field symbols (#21738)metagn2023-05-051-11/+11
| | | | | | | | | | | | | | | | | | | | | * always force open generic dot field symbols? fixes #21724 but might break code * alternative, should fix CI * other alternative, add test for previous CI failure * not needed * make sure call doesn't compile too * ok actual second test * ok final actual correct test * apply performance idea * don't make fromDotExpr static
* amends #21690 to fix broken Nim to C++ source line mappings (#21784)heterodoxic2023-05-044-124/+125
| | | resync fork
* minor cleanup vmprofiler (#21783)ringabout2023-05-041-1/+1
|
* error on user pragma args (#21776)metagn2023-05-031-1/+5
| | | closes #20978
* underscore as special word (#21766)metagn2023-05-026-9/+10
| | | | | * underscore as special word * fix really hard to notice error
* cheap fix for #10853 + better tuple subscript error message (#21767)metagn2023-05-022-2/+5
| | | | | | | * cheap fix for #10853 * also better tuple subscript error message * weird
* fixes #19863; move sha1, md5 to nimble packages for 2.0 (#21702)ringabout2023-05-0211-9/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * move sha1, md5 to nimble packages * boot the compiler * fixes tests * build the documentation * fixes docs * lol, I forgot koch.nim * add `nimHasChecksums` define * clone checksums but maybe copying is better * bump nimble hash * use ChecksumsStableCommit * fixes tests * deprecate them * fixes paths * fixes koch
* implements #21747 (#21748)Juan M Gómez2023-05-022-28/+34
|
* fixes #21483; fixes nim doc skips documentation of annotated elements of ↵ringabout2023-04-291-1/+1
| | | | | | | | | objects (#21743) * fixes #21483; skipPragmaExpr * add a test case for #21483 * fixes HTML
* improve C/C++ debug output readability (1/N) (#21690)heterodoxic2023-04-284-129/+159
| | | | | * hacky attempt to reconcile default explicit constructors with enforcement of brace initialization, instead of memsetting imported objects to 0 * improve C/C++ debug output readability (1/N)
* handle quoted routine symbols and non symbols expressions as before (#21740)ringabout2023-04-281-2/+3
|
* fixes #21245; warn about destructors that can raise (#21726)Andreas Rumpf2023-04-262-1/+7
| | | | | | | | | * fixes #21245; warn about destructors that can raise * doc update * progress * typo
* fixes #21731; fixes #21537; disable `warnBareExcept` by default [backport] ↵ringabout2023-04-261-1/+1
| | | | | | | (#21728) * disable warnBareExcept for default * fixes a typo
* fix #21727 (#21729)metagn2023-04-262-12/+17
|