summary refs log tree commit diff stats
Commit message (Collapse)AuthorAgeFilesLines
* fixes #21377; fixes `@[]` and `{}` type inference as returns in generics ↵ringabout2023-03-064-5/+51
| | | | | | | | | | | | | (#21475) * fixes `@[]` type inference in generics * add issue links * fixes macros and iterators * refactor * add one more test
* closes #20704; add a test case (#21480)ringabout2023-03-061-1/+12
|
* closes #16654; add a test case (#21478)ringabout2023-03-061-0/+12
|
* Add line directives for C code variables (#21466)Joey2023-03-051-2/+6
| | | | | * Add line directives for C code variables * Refactor genCLineDir to only use toFullPath if necessary
* Fix #21272: Rewrite parts of pickBestCandidate (#21465)SirOlaf2023-03-051-36/+50
| | | | | | | | | | | | | | | * Make pickBestCandidate store syms * Remove useless cursor * Try making pickBestCandidate more readable * Fix advance order * Revert back to seq with lots of comments --------- Co-authored-by: SirOlaf <>
* Add warning to specify timeout value in milliseconds, Fix #21449 (#21471)Sultan Al Isaiee2023-03-041-0/+4
| | | a warning message been added to the documentation to remind users that the timeout parameter is expressed in milliseconds, not seconds. to help prevent confusion and unexpected behaviours.
* remove nosinks hacks from compiler (#21469)ringabout2023-03-049-13/+13
|
* `--embedsrc` for JavaScript (#21467)quantimnot2023-03-041-0/+2
| | | Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
* fixes #21461 (#21463)Arnaud Moura2023-03-037-5/+1044
| | | | | * fixes #21461; Move nim-gdb.py and add nim-lldb.py * fixes bad path for nim-gdb.py
* test DLL generation with ORC (#21445)ringabout2023-03-031-9/+15
| | | | | | | | | * test DLL generation with ORC * fixes * fixes refc * Update testament/categories.nim
* replaces implicit passes array registed at runtime with explicit function ↵ringabout2023-03-0317-317/+535
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | calls; simplify compilation pipeline (#21444) * abolish using passes in the compiler; simplify compilation pipeline * duplicate code * Really cool to have the same signature... * haul * unify other backends * refactor process * introduce PipelinePhase * refactor compiler * fixes passes * fixes nimsuggest * add a sentinel * enable docs checkj * activate doc testing * clean up * complete cleanups
* Allow `futureLogging` in release builds (#21448)Jake Leahy2023-03-022-1/+7
| | | | | | | * Add test case * Fixes 21447: Keeps stackTrace around when using futureLogging * Remove extra whitespace
* fixes #20139; hash types based on its path relative to its package path ↵ringabout2023-03-0213-74/+143
| | | | | | | | | | | | | | | (#21274) [backport:1.6] * fixes #20139; hash types based on its path relative its project * add a test case * fixes procs * better implementation and test case --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* fixes #20422; emit nimPrepareStrMutationV2 for toOpenArray to keep th… ↵Andreas Rumpf2023-03-023-2/+19
| | | | | (#21459) fixes #20422; emit nimPrepareStrMutationV2 for toOpenArray to keep the abstraction of mutable strings which have immutable string literals
* remove decades-deprecated Win32 API *A function support (#21315)tersec2023-03-0213-420/+179
|
* Define the version of nim package without using system module (#21415)Ivan Yonchovski2023-03-021-1/+2
| | | This is follow up from https://github.com/nim-lang/Nim/pull/21313
* fixes #19291; implements `wasMoved` hook (#21303)ringabout2023-03-0212-39/+131
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * fixes #19291; implements `wasMoved` hook * basics * checkpoint * finish `wasMoved` * add a test for #19291 * add documentation and changelog * work `attachedWasMoved` with generics * fixes optimizer * register `=wasMoved` * handle wasMoved magcis * check another round * some patches * try `op == nil` * nicer * generate `wasMoved` before `destroy` * try again * fixes tests * default wasMoved * Update tests/destructor/tv2_cast.nim * Update tests/destructor/tv2_cast.nim * Update tests/arc/topt_refcursors.nim
* fixes #21326; fixes #7375; fixes #11986; fixes #9607; rework quote do; ↵ringabout2023-03-024-8/+150
| | | | | | | | | | | | | `getAst` uses type info to annotate the type of quoted variables; no more type erasures for quoted variables (#21433) * fixes #21326; getAst uses type info to annotateType quoted variables * simplify logics; sem types first * fixes important packages * add testcases * tiny
* tests/errmsgs/tcall_with_default_arg.nim: sync (#21237)Anna2023-03-011-1/+1
|
* tests: explicitly enable stack traces where needed (#21236)Anna2023-03-014-18/+21
| | | | | * tests/assert/tassert_c.nim: explicitly enable stack traces * tests/errmsgs: explicitly enable stack traces
* tests/stylecheck: make sure necessary hints are enabled (#21240)Anna2023-03-013-8/+6
|
* fixes #10938; fixes #13312; fixes #13918; fixes #20985; always initializes ↵ringabout2023-03-012-2/+56
| | | | | | | | | | | global variables with null values in VM (#21351) * fixes #10938; always initialize global variable in VM * fixes importc vars * there is a pre-existing issue regarding closure types in the VM * add tests
* suggestion for a simple fix for #21279 (#21378)heterodoxic2023-03-011-3/+9
|
* Fix #21452; enable Norm in important packages. (#21455)Constantine Molchanov2023-03-011-1/+1
| | | | | * fix #21452; enable Norm in important packages. * Run test that doesn't require SQLite.
* asyncdispatch: for NuttX, add destructor to clear global dispatcher. (#21432)Century Systems2023-02-282-1/+13
| | | | | | | | | | | | | * asyncdispatch: for NuttX, add destructor to clear global dispatcher using atexit(). Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp> * std: exitprocs: remove "when defined(nuttx)" block. Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp> --------- Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp>
* Use a cast to suppress KeyError raises (#21451)Antonis Geralis2023-02-281-4/+5
|
* Overrides `=copy` for `PackedSets` (#21417)ringabout2023-02-271-15/+14
|
* Fix typo in sourcemap.nim (#21438)Ikko Eltociear Ashimine2023-02-271-1/+1
| | | seperated -> separated
* fixes #21439; Add tyOpenArray to genTypeInfo. (#21440)Constantine Molchanov2023-02-272-1/+15
| | | | | * fixes #21439; Add tyOpenArray to genTypeInfo. * Add test.
* Add mention of breaking change about `[_]` in generics to changelog (#21437)PhilippMDoerner2023-02-261-0/+7
| | | | | | | | | Add mention of breaking change to changelog As described by #21435 , generic proc declarations making use of `_` as generic parameter are no longer possible. This is a change that was introduced by #21192 . During the debate over if this should be part of the intended spec in #21435 we concluded that it is and thus should be mentioned as a breaking change in the changelogs.
* Fix: nintendoswitch compilation (#21368)Dmitry Arkhipenko2023-02-254-5/+11
| | | | | * Fix: make nintendoswitch someGcc, remove symlink support for nintendoswitch, add getAppFilename for nintendoswitch * Fix: use getApplHeuristic on nintendoswitch
* closes #17864; add a test case (#21434)ringabout2023-02-251-0/+12
|
* Disable threads for os:any (#21425)Francis Thérien2023-02-242-0/+7
|
* fixes #20695; fixes object with distinct defaults and tables (#21428)ringabout2023-02-242-2/+41
|
* fixes #21393 and misc style changes (#21419)Andreas Rumpf2023-02-2411-61/+70
| | | | | | | | | * fixes #21393 and misc style changes * progress --------- Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com>
* Mitigate issues related to compiler options when cross-compiling (#21330)Francis Thérien2023-02-222-4/+8
| | | | | * Document C compiler options config when cross-compiling * Allow empty string to override default
* fixes #19795; fixes #11852; fixes #19974; remove parsing pipeline, Nim now ↵ringabout2023-02-2231-72/+227
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | parses the whole module at one time (#21379) * fixes #19795; remove parse pipeline * isScript * fixes nimscriptapi * don't touch reorder * check script * fixes tests * it seems implicit imports of system cause troubles * access the first child of `nkStmtList` * ignore comments * minor messages * perhaps increases hloLoopDetector * the module is a stmtList, which changes the errors * fixes nimdoc * fixes tlinter * fixes nim secret tests * fixes arc_misc * fixes nim secret tests again * safe; fixes one more test * GlobalError is the root cause too * fixes parsing errors * put emit types to the cfsForwardTypes section * fixes #11852; `{.push checks:off}` now works in procs * disable navigator * fixes nimdoc * add tests for JS * fixes nimsuggest
* Fix the TODO portion of recently added `posix_fallocate` on OS X. (#21387)c-blake2023-02-221-2/+17
|
* ioselectors_epoll: for NuttX, limit initial numFD to configured value. (#21421)Century Systems2023-02-222-1/+9
| | | | | | | | | | | | | | | | | ioselectors: ioselectors_epoll: for NuttX, limit initial numFD to configured value. In the NuttX build config, there is a setting called "FS_NEPOLL_DESCRIPTORS". -------- config FS_NEPOLL_DESCRIPTORS int "Maximum number of default epoll descriptors for epoll_create1(2)" default 8 ---help--- The maximum number of default epoll descriptors for epoll_create1(2) -------- For NuttX, change the number of fd arrays allocated by newSelector() to that value. Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp>
* Fix a couple of small keyword issues. (#21416)Benji York2023-02-221-2/+2
| | | In this section of the manual, "if" should be enclosed in backticks and "elif" should be lower case.
* saves one unnecessary compare which is also a small regression (#21413)ringabout2023-02-211-1/+1
| | | | | saves one unnecessary compare which is also a sall regression follow up https://github.com/nim-lang/Nim/commit/d30c6419a051a815e3fdb354ac79522f17e55bda
* Specify that address is taken when converter takes a var parameter (#21391)Jake Leahy2023-02-212-0/+16
| | | | | | | * Add test case * closes #21247 Add the sfAddrTaken flag to var parameters in converters This allows the JS backend to properly pass the parameter as a fat pointer
* Add `getDataDir` proc (#21408)Ecorous2023-02-211-0/+27
| | | | | | | | | * Add getDataDir() * Update lib/std/private/osappdirs.nim --------- Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
* Make `Time` work with `std/strformat` (#21409)Jake Leahy2023-02-212-5/+6
| | | | | | | * Add test case * Remove formatValue template for `Time` It didn't handle empty specifier correctly which caused it to be blank with strformat
* Support tuples in nim-gdb (#21410)Jake Leahy2023-02-213-5/+28
| | | | | | | | | * Support for printing tuple types * Add test of printing a tuple * Add support for printing tuples in GDB * Forgot to [skip ci]
* improve invalid module names errors (#21412)ringabout2023-02-211-1/+2
| | | I have seen these questions: "Why I got an invalid module name errors?". To eliminate this kind of questions, We might improve th error messages. Though, the question might evolve into "What is a valid Nim identifier", which should be more searchable on the Internet.
* csources_v2 can build the ORC-booted compiler; building now uses strict mode ↵ringabout2023-02-211-2/+4
| | | | | | | (#21411) * csources_v2 can build the ORC-booted compiler; building now uses strict mode * test booting in refc
* corrects the linkerexe of riscv64 in config (#21292)ringabout2023-02-211-1/+1
|
* NuttX added supports getrlimit(RLIMIT_NOFILE), so remove NuttX specific ↵Century Systems2023-02-213-9/+0
| | | | | | | codes. (#21385) async: NuttX added supports getrlimit(RLIMIT_NOFILE), so remove NuttX-specific codes. Signed-off-by: Takeyoshi Kikuchi <kikuchi@centurysys.co.jp>
* Support new runtime with nim-gdb (#21400)Jake Leahy2023-02-205-308/+161
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add support for orc strings * Cleaned up testing script Enums now printing properly Merged both old and new strings into the one printer Moving onto sets which seem kinda difficult * Sets working Instead of trying to imitate how Nim represents enums, I just call the dollar proc for each enum value While this runs into problems if the user doesn't call the dollar proc anywhere, I believe its a decent tradeoff I've cleaned up the error message for when it cannot find dollar proc (Might add in proper message on how to fix) * Support sequences V2 runtime seems to have sequences that don't have a len (Guessing its some kind of short seq optimisation?) but I've rolled the implementation into normal sequences since the implementation is practically the same * Clean up test program so it isn't using diff Also don't redirect the first nim compile to /dev/null so that we can check for any compilation errors I found the diff to be annoying to read (Seeing as the test script already performs diffing) * Tables are now supported * Add colours to test output It was getting difficult to tell apart test output from GDB output so I added colour to better tell them apart * Both old and new runtime are working Set exit code in python test script so that this could possibly be added to the CI. Only issue is that it can be flaky (GDB crashes randomly for some reason) * Remove old code that was commented out If I need it later I'll just use git * Remove branch that never runs * Remove the old test output [skip ci]