Andreas Rumpf
9fc04a555c
fixes #13105 ( #13138 )
2020-01-14 12:57:20 +01:00
Andreas Rumpf
d56848878c
fixes #13119 ( #13128 )
...
* fixes #13119
* fixes a regression
2020-01-14 09:56:08 +01:00
Andreas Rumpf
eadd1ba9ed
fixes #13112 ( #13127 )
...
* improve line error information
* fixes #13112
2020-01-13 15:47:17 +01:00
Andreas Rumpf
767592a3c3
more arc features ( #13098 )
...
* config update
* ARC now supports 'repr' and 'new' with finalizers is supported
2020-01-10 23:17:33 +01:00
Araq
fcd2f305ad
fixes #13070
2020-01-10 08:32:30 +01:00
Clyybber
ba4fbb6328
Continue #13002 ( #13021 )
2020-01-06 11:40:42 +00:00
Andreas Rumpf
0f6987a86e
fixes #12964 ( #13027 )
2020-01-04 07:40:02 +01:00
cooldome
47e7b8771c
Fixes #13026 ( #13028 )
2020-01-04 02:33:13 +01:00
Andreas Rumpf
8aadba1a2a
fixes #12961 ( #13019 )
2020-01-03 14:30:54 +01:00
Andreas Rumpf
0ecb709cbe
fixes #12978 ( #13012 )
2020-01-03 01:21:45 +01:00
cooldome
002d50f1f0
Sink to MemMove optimization in injectdestructors ( #13002 )
2020-01-02 22:58:01 +01:00
Andreas Rumpf
c3344862b0
--exception:goto switch for deterministic exception handling ( #12977 )
...
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.
2020-01-01 10:01:49 +01:00
cooldome
584e8c8283
fixes #12989 ( #12992 )
...
* fixes #12989
* Revert "remove unwanted changes"
This reverts commit 501829732a .
2019-12-31 21:13:26 +01:00
Andreas Rumpf
ce40ed18bb
fixes #12965 ( #12991 )
2019-12-31 09:42:18 +01:00
Andrii Riabushenko
9eeff690d5
Revert "fixes #12989 "
...
This reverts commit 928c2fee06 .
2019-12-31 00:10:02 +00:00
Andrii Riabushenko
928c2fee06
fixes #12989
2019-12-31 00:07:49 +00:00
Araq
d1d017ae85
fixes #12826
2019-12-24 17:33:27 +01:00
Andreas Rumpf
3f6df5cc34
fixes #12899 ( #12921 )
...
* fixes #12899
* fixes regression: destroy global variables in reverse declaration order, closureleak test relies on it
2019-12-18 07:54:20 +01:00
Andreas Rumpf
83a736a34a
ARC: cycle detector ( #12823 )
...
* 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
2019-12-17 17:37:50 +01:00
cooldome
12d2b980e8
Fixes #12883 ( #12894 )
...
* fixes #12883
* fix comment
* add normalize
* fix
2019-12-13 13:30:27 +00:00
cooldome
1e1fd73530
fixes #12882 ( #12889 )
...
* fixes #12882
2019-12-13 11:24:05 +00:00
Andreas Rumpf
3524944e21
ARC: fixes cycle detection and move the .cursor attribute into closures ( #12872 )
2019-12-11 06:57:00 +01:00
Andreas Rumpf
b8152b29e8
ARC: yet another bugfix ( #12871 )
2019-12-10 16:44:54 +01:00
cooldome
13d232ec56
fixes #12827 ( #12829 ) [backport]
2019-12-10 07:08:46 +01:00
cooldome
5929c3da21
fixes #12820 ( #12828 )
2019-12-09 20:03:23 +01:00
cooldome
7213969901
fixes #12821 ( #12822 )
2019-12-06 09:56:54 +01:00
Andreas Rumpf
3fbb3bfd3f
ARC related bugfixes and refactorings ( #12781 )
2019-12-05 16:59:06 +01:00
Araq
7e6e399d10
fixes #12669
2019-11-29 19:46:21 +01:00
Araq
b688250202
fixes #12766
2019-11-29 19:46:21 +01:00
Araq
72237e2bcf
ARC: ported the GC tests over to --gc:arc
2019-11-26 16:04:28 +01:00
narimiran
015bec6254
Revert "ARC: another critical bugfix; temporary tuples we introduce for tuple unpackaging are not owning the data"
...
This reverts commit 8b2f8f5430 .
2019-11-24 09:50:52 +01:00
Araq
8b2f8f5430
ARC: another critical bugfix; temporary tuples we introduce for tuple unpackaging are not owning the data
2019-11-22 21:41:45 +01:00
Araq
c85e266d1d
ARC: yet another silly bugfix
2019-11-22 17:18:11 +01:00
Andreas Rumpf
85ffcd80c0
more arc improvements ( #12690 )
...
* ARC: bugfix for =destroy for inherited objects
* added code useful for debugging
2019-11-20 14:34:05 +01:00
Andreas Rumpf
5278cf80eb
ARC: closure bugfixes ( #12677 )
...
* ARC: closure bugfixes
* progress
* ARC closures: create =hooks for captured parameters
* ARC: always destroy constructions like tuples, arrays properly, even in edge cases
* fixes a regression
2019-11-18 12:33:44 +01:00
Andreas Rumpf
76179cbec2
ARC: fixes leaking new() statement ( #12665 )
2019-11-15 12:38:11 +01:00
Andreas Rumpf
a14abc5708
ARC: solves phase ordering problems ( #12654 )
2019-11-14 23:19:18 +01:00
Araq
f22d3c75aa
ARC: closure inside object constructor now works
2019-11-13 23:29:21 +01:00
Andreas Rumpf
dfb020b174
.cursor implementation ( #12637 )
...
* cursors: first implementation
* added currently failing test
* .cursor works for doubly linked lists
* make -d:useMalloc work again
* added code to nil out refs in a destructor
* it's now called --gc:arc
* renderer.nim: render nkBreakState properly
* make simple closure iterators work without leaking
2019-11-12 15:05:36 +01:00
Andreas Rumpf
3ba3307d61
remove deprecated procs ( #12535 )
2019-11-05 11:05:46 +01:00
Miran
ffa9a7405f
fix #8242 , fix #12586 : fix 'formatFloat' with 'precision = 0' ( #12592 )
...
* fix #8242 , fix #12586 : fix 'formatFloat' with 'precision = 0'
'formatFloat' with 'precision = 0' now gives the same result
(a number without a decimal point) in all backends.
This is compatible with Python's formatters, too.
* fix failing tests
* add changelog entry
* add version switch
2019-11-05 10:31:23 +01:00
Andreas Rumpf
7192b13609
some progress on bug #12443
2019-10-27 17:50:30 +01:00
Araq
cf99c9bfb5
fixes #12051
2019-09-10 09:43:37 +02:00
Andrii Riabushenko
ba18c12005
sink as lvalue
2019-09-02 10:11:51 +01:00
Andrii Riabushenko
a055f628f4
fixes #12092
2019-08-31 09:49:47 +01:00
Clyybber
029dcc6259
fix #12037 ( #12089 )
2019-08-30 06:41:26 +02:00
cooldome
c9f49cbc0a
lift destructor for openarray ( #12073 )
...
* destroy for sink openarray
2019-08-28 12:07:46 +02:00
Andreas Rumpf
ce7f29e8e6
fixes #11833 ( #12018 )
2019-08-24 06:25:47 +02:00
Andreas Rumpf
433613e267
fixes #11844 ( #11935 )
2019-08-13 06:37:37 +02:00
Araq
322ce1872f
fixes #10689
2019-08-12 14:06:48 +02:00