| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* refactoring: idents don't need inheritance
* refactoring: adding an IdGenerator (part 1)
* refactoring: adding an IdGenerator (part 2)
* refactoring: adding an IdGenerator (part 3)
* refactoring: adding an IdGenerator (part 4)
* refactoring: adding an IdGenerator (part 5)
* refactoring: adding an IdGenerator (part 5)
* IdGenerator must be a ref type; hello world works again
* make bootstrapping work again
* progress: add back the 'exactReplica' ideas
* added back the missing exactReplica hacks
* make tcompilerapi work again
* make important packages green
* attempt to fix the build for 32 bit machines (probably need a better solution here)
|
| |
|
|
|
|
| |
* remove copyright Andreas Rumpf from cgen files
|
|
|
|
| |
https://github.com/nim-lang/Nim/issues/15428 (#15488)
|
|
|
|
|
| |
* .noalias annotation; frontend support
* added .noalias support to Nim; implements https://github.com/nim-lang/RFCs/issues/204
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* refactoring: move procs to typeallowed.nim
* frontend preparations for first class openArray support
* prepare the code generator for first class openArray
* code generation for first class openArray; WIP
* code generation for open arrays, progress
* added isViewType proc
* preparations for borrow checking
* added borrow checking to the front end
|
| |
|
|
|
|
|
|
|
| |
* fixes the regressions
* closes #13936
* scope based memory management implemented
* enabled tcontrolflow.nim test case
* final cleanups
|
|
|
|
|
|
|
|
|
| |
* Fix #14647
* Correct fix
* Typo and add test
* For real now :p
|
| |
|
| |
|
|
|
|
| |
* sigmatch: removed dead code
|
|
|
|
|
|
|
| |
* progress
* make tests green
* maybe we also want to reset pointers, dunno
* progress
* cleanup; fixes #13879 [backport:1.2]
|
|
|
|
|
|
|
|
|
|
| |
`--doccmd:skip` + other improvements (#14278)
* `nim doc --backend:js|cpp...`
`nim doc --doccmd:'-d:foo --threads:on'`
`nim r --backend:cpp...` (implies --run --usenimcache)
* --usenimcache works with all targets
* --docCmd:skip now skips compiling snippets; 50X speedup for doc/manual.rst
|
| |
|
| |
|
|
|
|
| |
(#14115)
|
| |
|
|
|
|
|
|
|
| |
(eg tinyc) from koch / library code (#13850)
* remove tinyc
* installDeps
* update tinyc paths
|
| |
|
|
|
|
|
|
|
| |
* make nim_temp compiler with --gc:arc
* trigger build
Co-authored-by: cooldome <ariabushenko@bk.ru>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* config update
* disable a questionable test
* remove c++ exception handling IDs, new impl doesn't require it anymore
* C++ based exceptions finally work
* fixes bootstrapping problem in C++ mode
* teach GCC it's 2020 now
* more bugfixes for C++ based exception handling
* apply cooldome's patch
* another attempt to enable C++11
* bug fix
Co-authored-by: Araq <rumpf_a@web.de>
Co-authored-by: cooldome <ariabushenko@bk.ru>
|
|
|
|
| |
(#13692)
|
|
|
|
|
|
| |
(#13677)
* rewritten goto based exception handling; much cleaner implementation; fixes #13668
|
|
|
|
|
|
|
|
|
|
| |
* allow defects to be caught even for --exceptions:goto (WIP)
* implemented the new --panics:on|off switch; refs https://github.com/nim-lang/RFCs/issues/180
* new implementation for integer overflow checking
* produce a warning if a user-defined exception type inherits from Exception directly
* applied Timothee's suggestions; improved the documentation and replace the term 'checked runtime check' by 'panic'
* fixes #13627
* don't inherit from Exception directly
|
| |
|
|
|
|
|
| |
* make goto based exceptions available for 'nim cpp'
* optimize seq.add to be comparable to C++'s emplace_back
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* system/gc: don't export markStackAndRegisters
* compiler/cgen: unexport internal symbols
As these functions are Nim-specific walkaround against C's optimization
schemes, they don't serve any purpose being exported.
* compiler/cgen: don't export global var unless marked
* compiler/ccgthreadvars: don't export threadvar unless marked
* tests/dll/visibility: also check for exports
This ensure that these changes don't break manual exports.
* compiler/cgen: hide all variables created for constants
* compiler/ccgtypes: don't export RTTI variables
* compiler/ccgexprs: make all complex const static
* nimbase.h: fix export for windows
* compiler/cgen, ccgthreadvars: export variables correctly
For C/C++ variables, `extern` means that the variable is defined in an
another unit. Added a new N_LIB_EXPORT_VAR to correctly export
variables.
|
|
|
|
| |
a few magic numbers with consts (#13170)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* VM: allow certain hardcoded special var variables at CT
* VM: allow all importc var, cast[int](ptr)
* fix tests tests/vm/tstaticprintseq.nim, tests/cpp/t8241.nim
* VM: == works for ptr/pointer nodes
* bugfix: ==, cast now also works for pointer, not just ptr
* VM supports cast PtrLikeKinds <=> PtrLikeKinds / int
* improve cname handling
* fixup + bug fix
* VM: support cast from ref to int
* address comment: opcLdGlobalDeref => opcLdGlobalDerefFFI
* defensive check against typ == nil
|
| |
|
|
|
|
|
| |
This implements "deterministic" exception handling for Nim based on goto instead of setjmp. This means raising an exception is much cheaper than in C++'s table based implementations. Supports hard realtime systems. Default for --gc:arc and the C target because it's generally a good idea and arc is all about deterministic behavior.
Note: This implies that fatal runtime traps are not catchable anymore! This needs to be documented.
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* fixes #12899
* fixes regression: destroy global variables in reverse declaration order, closureleak test relies on it
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Cleanup compiler code base
* Unify add calls
* Unify len invocations
* Unify range operators
* Fix oversight
* Remove {.procvar.} pragma
* initCandidate -> newCandidate where reasonable
* Unify safeLen calls
|
|
|
|
|
|
| |
* fixes and changes the recently introduced 'alignas' to be 'align'
* more improvements
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
* implemented alignas pragma
* fix bootstrap
* generate c++ compatible syntax for alignas
* Make it work.
* Multiple alignof expressions. Implement top level alignof.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* Remove sonsLen
* Use Indexable
|