Arne Döring
92c2a51bf7
removed compiler internal list implementation ( #5371 )
2017-02-22 17:33:12 +01:00
Andreas Rumpf
848676cec6
name mangling bugfixes; ndi file generation for debugger support
2017-02-03 09:49:36 +01:00
Andreas Rumpf
56aa1ac5bc
new name mangling scheme implemented
2017-02-02 10:30:01 +01:00
Andreas Rumpf
d9cf9b079e
tiny progress on the name mangling
2017-02-01 23:39:40 +01:00
Andreas Rumpf
f04d21f279
refactoring: explict config state instead of globals
2017-02-01 23:39:40 +01:00
Araq
80cbe61c6c
made more tests green
2016-12-05 16:27:37 +01:00
Araq
ba38b83dd5
refactoring: C codegen with fewer global variables
2016-12-05 12:14:24 +01:00
Araq
42ae2064dd
more tests work
2016-12-02 11:44:28 +01:00
Araq
2eee15d7f3
Merge branch 'devel' into sighashes
2016-12-01 10:06:41 +01:00
Araq
8494338bcb
fixes #5055
2016-11-30 22:25:56 +01:00
Araq
27723af469
Merge branch 'devel' into sighashes
2016-11-28 20:59:30 +01:00
Andreas Rumpf
02a2180a6a
first version of the new memory tracking feature
2016-11-21 12:10:44 +01:00
Araq
860cbd3107
signature hashing: more progress
2016-11-11 08:58:42 +01:00
Araq
3b43cff0f8
C codegen: first version of signature hashing for better incremental builds
2016-11-08 08:37:11 +01:00
Andreas Rumpf
7ea318a053
fixes #4505 , fixes #4230
2016-08-04 21:44:06 +02:00
Andreas Rumpf
4b0ba5e3f1
C code generation now deterministic; fixes #4364
2016-06-22 02:50:50 +02:00
Andreas Rumpf
3ac6bd8ae1
refactoring: flags instead of bools
2016-05-18 12:40:01 +02:00
def
39049e151f
Get rid of deprecation warnings
2015-04-07 15:47:18 +02:00
Araq
5641be51c1
codegen doesn't produce line tracing commands anymore; fixes #1344
2015-03-21 20:38:27 +01:00
Araq
e84834db79
lots of C++ codegen improvements
2015-02-07 10:48:07 +01:00
Araq
5946747970
updated the compiler to use the new symbol names
2014-08-28 23:48:42 +02:00
Araq
2781fea9e2
Nimrod renamed to Nim
2014-08-28 09:38:14 +02:00
Araq
15909c7be2
optimized method dispatchers
2014-06-12 16:05:50 +02:00
Zahary Karadjov
5324c9ebba
iterators now return tyIter(T);
...
tyIter(T) represents an "iteration yielding values of type T"
I'm planning to use that in the context of the `is` operator
supporting predicates such as `C.items is iterator` and also
in the upcoming support for higher-order inline iterators.
2014-03-05 02:23:53 +02:00
Audun Wilhelmsen
739b4f214b
Fixed #688 : return in except statments. Also fixed return in finally statements.
2014-02-23 00:23:06 +01:00
Audun Wilhelmsen
8cccaebc2e
Fixed issue 391 (nested break in except-stmts)
2014-02-16 02:08:36 +01:00
Araq
49fa421ba7
fixes #914
2014-02-14 15:49:44 +01:00
Zahary Karadjov
046d829e5d
Introduce a PreMain proc in the C codegen
...
The rationale here is that it has become too hard to step into a program
when #line directives are enabled. You have to skip over many lines of init
code that doesn't have corresponding lines in the nimrod program.
Now, you can just step-out of PreMain and go straight to the useful code
in NimMain.
2013-12-30 11:02:48 +02:00
Araq
b731e6ef1c
case consistency: cs:partial bootstraps on windows
2013-12-29 03:19:10 +01:00
Araq
92b8fac94a
case consistency part 4
2013-12-27 23:10:36 +01:00
Araq
132b6b3efe
implemented 'injectStmt'; more debug support
2013-12-16 22:26:17 +01:00
Araq
fe983b1309
fixes a regression where memset was used without including <string.h>
2013-12-03 01:59:38 +01:00
Zahary Karadjov
b01d9b6181
work-in-progress for compiling generics in their owner module
2013-08-19 01:45:16 +03:00
Araq
a64d4dc35c
documented object constrs; endb works again
2013-03-09 20:43:56 +01:00
Zahary Karadjov
86bf97a730
cleaned up some debugging code
2013-01-20 21:22:07 +02:00
Zahary Karadjov
f9bd8cc985
[caas] first version that actually works (still has a lot of logical memory leaks on recompilation)
2012-11-28 01:15:13 +02:00
Araq
cf06131dec
better extension loading for the OpenGL wrapper
2012-10-09 17:11:33 +02:00
Zahary Karadjov
c27637747a
bugfix: closures as default param values
2012-10-06 14:51:46 +03:00
Araq
214c7a2ebd
implemented a stack trace profiler
2012-09-15 00:21:10 +02:00
Araq
538b06a123
implements #173
2012-07-28 14:16:08 +02:00
Zahary Karadjov
4841b6390c
removed nimdat in favor of per-module dat init procs
2012-07-19 19:43:58 +03:00
Zahary Karadjov
e2d38a57ec
better support for unsigned integers.
2012-06-11 21:38:01 +03:00
Zahary Karadjov
3ce400bb00
bugfix: finally blocks were not executed when the except block is exited by raise or return
2012-06-03 18:00:45 +03:00
Araq
15dd3a2251
fixes #109
2012-05-20 10:56:17 +02:00
Zahary Karadjov
20d56875de
fix threading tests
2012-04-15 02:52:09 +03:00
Zahary Karadjov
caf7878009
Proper C scopes for if, try and case statements
...
even thought the setjmp implementation for try statement won't be used in C++,
using properly scoped variables for them is beneficial, because we'll be able to
establish a 1:1 relation between nimrod scopes and C scopes.
Once we have that, we'll be able to keep the original names of local variables
to greatly improve the debugging experience (i.e. watch expressions and
hover tooltips will work).
2012-04-12 17:52:55 +03:00
Zahary Karadjov
d2b45dbe85
C variables are created in their enclosing block instead of their enclosing function
2012-04-12 14:12:32 +03:00
Zahary Karadjov
a64f03230a
proper order of initialization for .global. variables
2012-04-10 20:53:44 +03:00
Araq
97743faa83
tests tcnstseq and tcnstseq3 work again
2012-03-28 23:03:55 +02:00
Araq
4f1b89c30c
year 2012 for most copyright headers
2012-01-02 23:07:35 +01:00