Commit graph

18 commits

Author SHA1 Message Date
Zahary Karadjov
27dc9fcb8f fixes #186 and the ttypedesc1 test case 2012-09-23 19:34:20 +03:00
Araq
51de278bd4 next steps for tyVarargs/tyOpenArray split 2012-08-14 08:44:26 +02:00
Zahary Karadjov
df1ec09399 proper indentation in the generated C code 2012-06-12 04:43:58 +03:00
Araq
04300542da fixes #127 2012-05-30 22:37:17 +02:00
Zahary Karadjov
567b5b07ea fixes #20 properly 2012-04-15 01:06:40 +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
22dc76a361 typedesc and expr params
types are now valid proc/template/macro params and you can overload over them:
proc foo(T: typedesc)        # accept any type
proc foo(T: typedesc{int}) # overload specifically for int
proc foo(T: typedesc{int or float or Callable}) # overload for any type matching the constraints

expr{type} is a param expecting compile time value of the designated type (or type class).

when typedesc or expr params are used with a proc, the proc will be instantiated once
for each unique type/value used as parameter.
2012-03-31 18:50:48 +03:00
Zahary Karadjov
e5bd3b5b97 bootstraps fine with overloadable templates 2012-03-14 21:00:42 +02:00
Araq
161f6f7229 further steps for closure support 2012-02-06 08:44:18 +01:00
Araq
632aece191 further steps to closure support 2012-02-06 00:19:56 +01:00
Araq
23340695d0 fixes #89 2012-01-29 02:13:53 +01:00
Araq
1d1752cac7 removed nimKeepAlive as it's not necessary with interior pointer checking 2012-01-15 11:54:38 +01:00
Araq
4f1b89c30c year 2012 for most copyright headers 2012-01-02 23:07:35 +01:00
Araq
cd83cc81aa code gen can generate code to keep alive stack roots 2011-12-22 15:04:00 +01:00
Araq
94358e03e9 compiler generates volatile temps to keep C compiler from optimizing away stack roots 2011-12-12 01:40:23 +01:00
Araq
af792da0bb codegen uses alias analysis to generate better code 2011-12-10 01:06:32 +01:00
Araq
7fcbdc6d42 implemented 'let' statement 2011-11-29 17:27:48 +01:00
Araq
703430787d C codegen: generate nimKeepAlive calls at strategic places to keep the C compiler from optimizing away all stack roots 2011-11-24 23:28:28 +01:00