| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
* fix #9634 debugging a program using execCmdEx now works
* only apply EINTR to c_gets for now
This reverts commit c0f5305b5a0b46983dfd27e3d77ecbf4f8744dcc.
|
|
|
|
|
| |
(#13363)
This reverts commit b2c6db97f9f477f6999fa9c7aae5e32f10b6b3fe.
|
| |
|
|
|
|
| |
* printing float values will have one more digit. Fixes #13196
|
|
|
|
|
|
|
|
| |
isNamedTuple in dollars.nim (#13347)
* replace old problematic isNamedTuple implementation by TypeTrait isNamedTuple
* fix for bootstrap
|
| |
|
|
|
|
|
|
|
|
| |
* fix for emscripten etc
* add testcase for #13290
* replace deprecated isNilOrWhitespace
|
|
|
|
|
| |
On some OSes (such as FreeBSD or Solaris), pthread_attr_init allocate
memory. So it is necessary to deallocate that memory by using
pthread_attr_destroy.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
* progress on repr_v2
* repr progress
* add ref objects with distrinct
* fix failing tests
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
* make goto based exceptions available for 'nim cpp'
* optimize seq.add to be comparable to C++'s emplace_back
|
| |
|
|
|
|
| |
nimAllocStats (#13247)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
allocShared0. (#13190)
* Cleanup, remove lib/system/allocators.nim. seqs_v2 and strs_v2 now use
allocShared0 by default.
* Fixed -d:useMalloc allocShared / reallocShared / deallocShared. These now use the alloc/dealloc/realloc implementation that also takes care of zeroing memory at realloc.
* Removed debug printfs
* Removed unpairedEnvAllocs() from tests/destructor/tnewruntime_misc
* More mmdisp cleanups. The shared allocators do not need to zero memory or throw since the regular ones already do that
* Introduced realloc0 and reallocShared0, these procs are now used by
strs_v2 and seqs_v2. This also allowed the -d:useMalloc allocator to
drop the extra header with allocation length.
* Moved strs_v2/seqs_v2 'allocated' flag into 'cap' field
* Added 'getAllocStats()' to get low level alloc/dealloc counters. Enable with -d:allocStats
* *allocShared implementations for boehm and go allocators now depend on the proper *allocImpl procs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
* fixes #13102
* closes #13149
* ARC: fixes a move optimizer bug (there are more left regarding array and tuple indexing)
* proper fix; fixes #12957
* fixes yet another case object '=' code generation problem
|
|
|
|
|
|
|
|
| |
* create basic_types, arithmetics, exceptions, comparisons
* create setops.nim
* create memalloc.nim
* create gc_interface.nim
* create iterators_1.nim
|
|
|
|
|
|
|
|
| |
* os:any implementation
* os:asny: omit flock/funlock calls in echoBinSafe
* Disabled default "unhandled expection" reporting for `--os:any` to reduce
code size. Added unhandledExceptionHook instead which can be used to get
a notification from Nim and handle it from the application.
|
| |
|
|
|
|
|
| |
* config update
* ARC now supports 'repr' and 'new' with finalizers is supported
|
| |
|
|
|
|
|
|
| |
(#13064)
|
| |
|
|
|
|
| |
-d:StandaloneHeapSize (#13077)
|
| |
|
|
|
|
|
|
|
| |
* Revert "remove default argument for readLines (#12807) [backport]"
This reverts commit c949b81efdeb08b38224e1678ad140b7b7663b15.
|
| |
|
| |
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Stack traces on an unbuffered stderr get out of sync with line-buffered
stdout - usually on Windows terminals or CI logs. This fixes it by
calling C's fflush() on the output buffer in the procedure used for
printing stack traces.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* libbacktrace support
* switch to a generic stack trace overriding mechanism
When "nimStackTraceOverride" is defined, once of the imported modules
can register its own procedure to replace the default stack trace
generation by calling `registerStackTraceOverride(myOwnProc)`.
Tested with `./koch boot -d:release --debugger:native -d:nimStackTraceOverride --import:libbacktrace`
for the compiler itself and `./bin/nim c -r -f --stacktrace:off --debugger:native -d:nimStackTraceOverride --import:libbacktrace foo.nim`
for an external program.
* make the StackTraceOverrideProc {.noinline.}
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* first implementation of the =trace and =dispose hooks for the cycle collector
* a cycle collector for ARC: progress
* manual: the .acyclic pragma is a thing once again
* gcbench: adaptations for --gc:arc
* enable valgrind tests for the strutils tests
* testament: better valgrind support
* ARC refactoring: growable jumpstacks
* ARC cycle detector: non-recursive algorithm
* moved and renamed core/ files back to system/
* refactoring: --gc:arc vs --gc:orc since 'orc' is even more experimental and we want to ship --gc:arc soonish
|
|
|
|
|
|
| |
* clang_cl nan floatFormat
* format
|