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.
* assertions: properly fix#11545
* tests/assert: enable excessiveStackTrace
* tests/assert: add test case for #11545
* tfailedassert_stacktrace: disable excessiveStackTrace
* assertions: weird workaround for failing tests
This fixes megatest on *nix, but have no idea why
* Add column number to instantiation info
Instantiation info left out column number for no good reason. This adds
it in as the third element of the tuple.
* Fix test that failed and added change to changelog
An assertion test failed because it was declaring a type that was
expected to be populated by instantiationInfo with the old signature.
Also added the changes to the changelog as it is a breaking change.
This will cause this test to fail on Linux. The behaviour on Windows is
however correct, the filename returned by instantiationInfo is the
projPath defined as being "relative to the project's root".