Commit Graph

56 Commits

Author SHA1 Message Date
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