summary refs log tree commit diff stats
path: root/lib/system
Commit message (Collapse)AuthorAgeFilesLines
...
* fix for js strict mode (#18799)Sven Keller2021-09-041-4/+1
| | | | | | | | * Assignments, which would accidentally create global variables, instead throw an error in strict mode * Assignment to a getter-only property Co-authored-by: Sven Keller <s.keller@cortona.de>
* fixes #18494 (#18783)Andreas Rumpf2021-09-021-8/+34
|
* strict effects (#18777)Andreas Rumpf2021-09-022-4/+4
| | | | | | | | | | | | | | | | | * fixes #17369 * megatest is green for --cpu:arm64 * docgen output includes more tags/raises * implemented 'effectsOf' * algorithm.nim: uses new effectsOf annotation * closes #18376 * closes #17475 * closes #13905 * allow effectsOf: [a, b] * added a test case * parameters that are not ours cannot be declared as .effectsOf * documentation * manual: added the 'sort' example * bootstrap with the new better options
* improvements to `addInt` and `$` for integer types (#18592)Timothee Cour2021-08-194-79/+35
| | | | | | | | * improvements to $(SomeInteger) and addInt * remove mIntToStr, mInt64ToStr * improvements * fix tests/pragmas/tinjectstmt.nim; the diff is harmless, cgen code is identical with -d:danger or debug mode * rm tests/system/tstrmantle.nim * revert compiler/jsgen.nim for -d:nimVersion140
* fix #18702(fix `parseutils.parseFloat`) (#18703) [backport:1.0]flywind2021-08-161-4/+5
| | | | | * fix #18702 * Apply suggestions from code review
* properly fix #10053 ; `FieldDefect` msg now shows discriminant value + ↵Timothee Cour2021-08-137-2/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | lineinfo, in all backends (c,vm,js) (#11955) * fix #10053 FieldError for vm * fixup * FieldError now also shows runtime value of discriminant * fix field error reporting in vm * also report culprit line info in err msg * fix errors for newruntime 2 * fix for js * fixup * PRTEMP4 * works * works * works perfect * refactor * std/private/repr_impl * suppport --gc:arc * cleanup * refactor * simplify * simplify * simplify * fixup * move out compiler.vmgen.genCustom * fixup * fixup * add tests * revert compiler/debugutils.nim * simplify reprDiscriminant * fixup * lib/std/private/repr_impl.nim -> lib/system/repr_impl.nim * try to fix D20210812T165220 * honor --declaredlocs * control toFileLineCol via --declaredlocs
* Switch maintanance (#18668)RSDuck2021-08-111-111/+0
| | | | | | | | | * Fix and improve Nintendo Switch support * Document the necessity for nimAllocPagesViaMalloc * update changelog * Use --gc:orc in examples
* Add optional recursive arg to distinctBase (v2) (#18659)Timothee Cour2021-08-091-1/+1
| | | | | | * Add optional recursive arg to distinctBase * Add docs and examples Co-authored-by: ALANVF <alan.invents@gmail.com>
* renamed: lib/std/private/vmutils.nim -> lib/std/private/bitops_utils.nim ↵Timothee Cour2021-08-081-1/+1
| | | | to avoid confusion with unrelated std/vmutils (#18660)
* use lent (#18638)flywind2021-08-081-2/+2
|
* fix #18620 (#18624)flywind2021-08-011-4/+1
| | | | | * fix #18620 * add testcase
* various small documentation improvements (#18602)Miran2021-07-281-1/+1
|
* fixes #18579 (#18600)Andreas Rumpf2021-07-271-4/+2
|
* rename nimFpRoundtrips => nimPreviewFloatRoundtrip (#18566)Timothee Cour2021-07-231-2/+2
|
* fixes #18550 (#18553)Andreas Rumpf2021-07-212-5/+5
| | | | | * fixes #18550 * update the manual to reflect reality
* make -d:nimFpRoundtrips work consistently in vm vs rt, fix #18400, etc (#18531)Timothee Cour2021-07-205-118/+126
| | | | | | * compiler/vmhooks: add getVar to allow vmops with var params * addFloat vmops with var param * cgen now renders float32 literals in c backend using roundtrip float to string
* use .} instead of } for code highlightersAraq2021-07-201-2/+2
|
* make dragonbox opt-in via -d:nimFpRoundtrips (#18504)Andreas Rumpf2021-07-162-2/+2
| | | | | | | * make dragonbox opt-in via -d:nimFpRoundtrips * make tests green again * make tests green again
* added `nimAllocPagesViaMalloc` switch (#18490)Andreas Rumpf2021-07-152-5/+29
| | | | | * added switch * alloc.nim needs page aligned memory blocks
* Revert "Make 'echo' raise IOErrors when appropriate (#16367)" (#18460)Miran2021-07-081-16/+8
| | | This reverts commit 23d23ecb081be6702d74024be8f96d92d9f88a59.
* ORC: use =destroy instead of =dispose (#18440)Andreas Rumpf2021-07-073-32/+37
| | | | | | * ORC refactoring in preparation for further changes (=dispose must die) * ORC: embrace =destroy, avoid =dispose * ORC: no need for =dispose * closes #18421
* fixes #18411 (#18432) [backport:1.4]Andreas Rumpf2021-07-051-3/+1
|
* don't use `{.rtl.}` for generics, otherwise `-d:useNimRtl` gives `ambiguous ↵Timothee Cour2021-07-011-6/+7
| | | | identifier` nimrtl error (#18406)
* fixes #18400 (#18402)Andreas Rumpf2021-06-301-1/+1
|
* Fix unused warning for $ on empty object (#18381)Clyybber2021-06-281-1/+1
|
* Simplify addInt, remove digits10 (#18356)Clyybber2021-06-282-10/+4
| | | | | | | | | | | | | * Simplify addInt, remove digits10 Co-authored-by: Charles Blake <charlechaud@gmail.com> * Fix bootstrapping * Add noInit to tmp array * noInit -> noinit Co-authored-by: Charles Blake <charlechaud@gmail.com>
* even lighter version of #17938: fix most issues with UnusedImport, ↵Timothee Cour2021-06-261-29/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | XDeclaredButNotUsed, etc; fix #17511, #17510, #14246 (without realModule) (#18362) * {.used: symbol} * add tests * fix tests with --import * --import works without giving spurious unused warnings * new warning warnDuplicateModuleImport for `import foo; import foo` * fix test, add resolveModuleAlias, use proper line info for module aliases * fix spurious warnings * fix deprecation msg for deprecated modules even with `import foo as bar` * disable a test for i386 pending sorting XDeclaredButNotUsed errors * UnusedImport now works with re-exported symbols * fix typo [skip ci] * ic support * add genPNode to allow writing PNode-based compiler code similarly to `genAst` * fix DuplicateModuleImport warning * adjust test * fixup * fixup * fixup * fix after rebase * fix for IC * keep the proc inline, move the const out * [skip ci] fix changelog * experiment: remove calls to resolveModuleAlias * followup * fixup * fix tests/modules/tselfimport.nim * workaround tests/deprecated/tmodule1.nim * fix properly * simplify
* followup #18318: simplify `dollarImpl` and add a test (#18330)Timothee Cour2021-06-221-7/+0
|
* merge similar procs regarding digits (#18318)flywind2021-06-224-135/+19
|
* convert code-blocks to runnableExamples in io (#18315)xioren2021-06-211-16/+15
| | | Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* move {.injectStmt.} to experimental; add a test (#18300)Timothee Cour2021-06-201-0/+1
| | | | | * move {.injectStmt.} to experimental; add a test * undocument and deprecat `.injectStmt` but keep its implementation until we have a replacement
* Revert "system/excpt: check if the exception is not nil before pop (#18247)" ↵Andreas Rumpf2021-06-171-3/+2
| | | | | (#18265) This reverts commit 0adb47aa15e242983c8251d85367c0fe45fc5f12.
* system/excpt: check if the exception is not nil before pop (#18247)alaviss2021-06-141-2/+3
| | | | | | | | | | In CPS we would consume an exception in the except branch by stashing it into a local then remove the exception from Nim environment so as not to leak it to other code that would be running before the continuation continues However since popCurrentException() assumes that the exception always exist, removing the exception from an except branch will cause a SIGSEGV to happen. This commit fixes that.
* fix #7717 roundtrip float to string; fix `parseFloat` for js (#18248)Timothee Cour2021-06-131-48/+41
| | | | | | | * refs #7717 roundtrip float to string * make parseFloat more correct * improve float tests * improve float tests * cleanup
* use more meaningful name than "workaround14447" (#18237)Miran2021-06-111-1/+1
|
* fix 18186 with adding importc _umul128 (#18200)slangmgh2021-06-072-1/+3
|
* added float32 schubfach algorithm; wip (#18155)Andreas Rumpf2021-06-033-0/+468
| | | | | * added float32 schubfach algorithm; wip * fixes #18418
* fix #16993, #18054, #17835 runnableExamples now works with templates and ↵Timothee Cour2021-06-021-29/+18
| | | | nested templates (#18082)
* use dragonbox algorithm; alternative to #18008 (#18139)Andreas Rumpf2021-06-012-46/+1398
| | | | | * use dragonbox algorithm; alternative to #18008 * removed unsafe code
* close #18129 Add setCurrentException for JS backend (#18145)flywind2021-06-011-0/+3
| | | | | | | | | | | * [std/re] make interface consistent * tiny * revert * close #18129 add setCurrentException * changelog entry
* asyncdispatch+stackTraceOverride: fix premature collection (#18039) ↵Ștefan Talpalaru2021-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | [backport:1.2] Copying StackTraceEntry instances when nimStackTraceOverride is defined breaks the link between a cstring field that's supposed to point at another string field in the same object. Sometimes, the original object is garbage collected, that memory region reused for storing other strings, so when the StackTraceEntry copy tries to use its cstring pointer to construct a traceback message, it accesses unrelated strings. This only happens for async tracebacks and this patch prevents that by making sure we only use the string fields when nimStackTraceOverride is defined. Async tracebacks also beautified slightly by getting rid of an extra line that was supposed to be commented out, along with the corresponding debugging output. There's also a micro-optimisation to avoid concatenating two strings just to get their combined length.
* ARC: fixes memory leaks with newSeq used in a loop [backport:1.4] (#18040)Andreas Rumpf2021-05-181-0/+4
| | | | * ARC: fixes memory leaks with newSeq used in a loop [backport:1.4] * Update tests/arc/tnewseq_legacy.nim
* Revert "fix #14873 properly by skipping `abi` field in importc type ↵Andreas Rumpf2021-05-151-0/+8
| | | | | (#17944)" (#17992) This reverts commit 98c29c01eb91a0c6ce7da09380a272eebe6bca6f.
* ORC: progress (#18000)Andreas Rumpf2021-05-121-9/+22
| | | | | | | | | * ORC: progress * ORC: bugfix; don't follow acyclic data even if only at runtime the subtype is marked as acyclic * progress * minor style changes
* fix #17941: UnusedImport works for var/let/const/type invoked inside a ↵Timothee Cour2021-05-081-2/+1
| | | | | | | generic (#17942) * fix #17941: UnusedImport works for var/let/const/type invoked inside a generic * fixup
* fix #14873 properly by skipping `abi` field in importc type (#17944)Timothee Cour2021-05-071-8/+0
| | | | | | | * fix #14873 properly by skipping `abi` field in importc type * add test * fix test for windows
* remove unsused OsPlatform.nimVM (#17953)Timothee Cour2021-05-071-2/+1
|
* Fix C++ compilation error in excpt.nim (#17951)Danil Yarantsev2021-05-061-1/+1
|
* minor cleanups (#17948)Andreas Rumpf2021-05-061-1/+1
|
* system.nim cleanup some exported constants which should never have be… ↵Andreas Rumpf2021-05-014-3/+23
| | | | | | (#17909) * system.nim cleanup some exported constants which should never have been exported