| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
| |
* Add two debugutils procs that native debuggers can break on use to
execute commands when code of interest is being compiled.
* Add GDB and LLDB programs to disable and enable breakpoints and
watchpoints when code of interest is being compiled.
* Extend the `intern.rst` docs regarding debugging the compiler.
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
|
| |
|
|
|
|
|
|
|
| |
* RST: improve simple tables
* nim 1.0 gotchas
* Still allow legacy boundaries like `----`
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Refactor and doc package handling, module name mangling
* Consolidate, de-duplicate and extend package handling
* Alter how duplicate module names of a package are handled
* Alter how module names are mangled
* Fix crash when another package is named 'stdlib' (test case added)
* Doc what defines a package in the manual
Modules with duplicate names within a package used to be given 'fake'
packages to resolve conflicts. That prevented the ability to discern if
a module belonged to the current project package or a foreign package.
They now have the proper package owner and the names are mangled in a
consistent manner to prevent codegen clashes.
All module names are now mangled the same. Stdlib was treated special
before, but now it is same as any other package. This fixes a crash
when a foreign package is named 'stdlib'.
Module mangling is altered for both file paths and symbols used by the
backends.
Removed an unused module name to package mapping that may have been
intended for IC. The mapping was removed because it wasn't being used
and was complicating the issue of package modules with duplicate names
not having the proper package owner assigned.
* Fix some tests
* Refactor `packagehandling`
* Remove `packagehandling.withPackageName` and its uses
* Move module path mangling from `packagehandling` to `modulepaths`
* Move `options.toRodFile` to `ic` to break import cycle
* Changed import style to match preferred style
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
|
|
|
|
|
| |
Doc prefered import style in compiler
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
|
| |
|
| |
|
|
|
| |
Co-authored-by: quantimnot <quantimnot@users.noreply.github.com>
|
|
|
|
|
| |
* [manual] TLock => Lock
* minor
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Co-authored-by: adigitoleo <adigitoleo@dissimulo.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Fixed formatting error in warningAsError.
There was only a single space character between the warning and its description, so it shows up as part of the name (in bold) and with no description.
Copied the way hotCodeReloading was formatted, with the description in a new line.
Also changed descriptions from 'ditto' to what the description it references says.
* Fixed typo in advopt.txt
Corrected 'hints' to 'warnings' in updated advopt.txt.
|
|
|
|
|
|
|
|
|
|
|
| |
* Add more info for {.bycopy.}
See confusion here: https://github.com/nim-lang/Nim/issues/18807
I hope this will help people googling to find this.
* Update doc/manual.rst
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* move io out of system
* fix tests
* fix tests
* next step
* rename to syncio
* rename
* fix nimscript
* comma
* fix
* fix parts of errors
* good for now
* fix test
|
|
|
| |
Ref https://github.com/nim-lang/Nim/issues/19463
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* New/better macro pragmas, make some experimental
fix #15920, close #18212, close #14781, close #6696,
close https://github.com/nim-lang/RFCs/issues/220
Variable macro pragmas have been changed to
only take a unary section node.
They can now also be applied in sections with multiple variables,
as well as `const` sections. They also accept arguments.
Templates now support macro pragmas, mirroring other routine types.
Type and variable macro pragmas have been made experimental.
Symbols without parentheses instatiating nullary macros or templates
has also been documented in the experimental manual.
A check for a redefinition error based on the left hand side of variable
definitions when using variable macro pragmas was disabled.
This nerfs `byaddr` specifically, however this has been documented as
a consequence of the experimental features `byaddr` uses.
Given how simple these changes are I'm worried if I'm missing something.
* accomodate compiler boot
* allow weird pragmas
* add test for #10994
* remove some control flow, try remove some logic
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* deprecate unsafeAddr; extend addr
addr is now available for all addressable locations, unsafeAddr is deprecated and become an alias for addr
* follow @Vindaar's advice
* change the signature of addr
* unsafeAddr => addr (stdlib)
* Update changelog.md
* unsafeAddr => addr (tests)
* Revert "unsafeAddr => addr (stdlib)"
This reverts commit ab83c99c507048a8396e636bf22d55fdd84d7d1c.
* doc changes; thanks to @konsumlamm
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
|
|
|
| |
ref #19173; because deepcopy is not fit for ORC/ARC which was used for spawn and spawn will be removed from compiler
|
|
|
|
|
|
|
| |
Mention the `import foo {.all.}` syntax in the manual,
with a caveat about private imports.
Also link to the experimental importutils module.
Co-authored-by: adigitoleo <adigitoleo@dissimulo.com>
|
| |
|
| |
|
|
|
|
|
|
|
| |
* allow full commands and blocks in type sections
* update grammar
* fix changelog [skip ci]
* more tests
* even more tests
|
| |
|
| |
|
| |
|
|
|
|
| |
#19266 (#19267)
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* nimRawSetjmp: support Windows
Using `_setjmp()` directly is required to avoid some rare (but very
annoying) exception-related stack corruption leading to segfaults on
Windows, with Mingw-w64 and SEH.
More details: https://github.com/status-im/nimbus-eth2/issues/3121
Also add "nimBuiltinSetjmp" - mostly for benchmarking.
* fix for Apple's Clang++
|
|
|
| |
In addition to an issue number, the title of a PR should contain a brief description; then users can follow the progress more easily from the title.
|
|
|
| |
fixes #19188
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Improve documentation around func and method
* Update doc/tut1.rst
Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com>
* Update doc/tut1.rst
Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com>
* Update doc/tut1.rst
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Update doc/tut1.rst
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Update doc/tut1.rst
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Update doc/tut1.rst
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Update doc/tut1.rst
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Update doc/tut1.rst
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
* Update doc/tut1.rst
Co-authored-by: Zoom <ZoomRmc@users.noreply.github.com>
* Update doc/tut1.rst
Co-authored-by: Zoom <ZoomRmc@users.noreply.github.com>
* Update doc/tut1.rst
Co-authored-by: Zoom <ZoomRmc@users.noreply.github.com>
* Update doc/tut1.rst
Co-authored-by: Zoom <ZoomRmc@users.noreply.github.com>
* Rewrite of Zooms suggestion
* Update doc/tut1.rst
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
Co-authored-by: Danil Yarantsev <tiberiumk12@gmail.com>
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com>
Co-authored-by: Zoom <ZoomRmc@users.noreply.github.com>
|
| |
|
|
|
|
| |
* renamed 'gc' switch to 'mm'; [backport:1.6]
* better docs
|
|
|
|
|
|
|
|
|
|
|
| |
* `caseStmtMacros` no longer experimental, experimental manual refactor
* Update doc/manual.rst
* apply review suggestions
* apply review
Co-authored-by: Andreas Rumpf <rumpf_a@web.de>
|
|
|
|
|
|
|
| |
* implement RST & Markdown quote blocks
* compile with nim 1.0
* Fix indentation
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* pthreads setup for zephyr
- enable tweak stack size
- update lib/system/threads.nim
- Fix int/uint in casting pointer.
* add documentation and tweak flag names
* add documentation and tweak flag names
* fix configuration flag names
* fix configuration flag names
* cleanup
Co-authored-by: Jaremy Creechley <jaremy.creechley@panthalassa.com>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Enable customizing PageSize (via PageShift).
This enables adjusting PageSize for embedded targets without abusing
cpu16.
* copy nimPageXYZ settings for mmpaptest
* add docs for Nim manual
* add docs for Nim manual
* docs tweaks
Co-authored-by: Jaremy Creechley <jaremy.creechley@panthalassa.com>
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* Call {.cursor.} a pragma.
Its hard to find .curser annotation while googling because all other things like it are called pragmas. See https://nim-lang.org/docs/manual.html#pragmas
Also the . in front of the name makes it hard to find and search for.
Can we just call it cursor pragma?
* Small fix for comment.
|
| |
|