Araq
32aa46a881
bugfix: typeinfo generation
2012-09-21 16:28:57 +02:00
Araq
214c7a2ebd
implemented a stack trace profiler
2012-09-15 00:21:10 +02:00
Araq
0171566c98
openarray/varargs split; breaks bootstrapping
2012-08-16 08:34:33 +02:00
Araq
51de278bd4
next steps for tyVarargs/tyOpenArray split
2012-08-14 08:44:26 +02:00
Araq
244c14db0b
top level closures should work; transf is not a pass anymore; next steps for first class iterator support
2012-08-13 17:07:49 +02:00
Zahary Karadjov
1d065b601c
DLL fixes for windows; fixes #175
2012-07-31 18:59:44 +03:00
Araq
58a66a0d70
more reliable NI/NU definitions
2012-07-28 17:28:36 +02:00
Araq
538b06a123
implements #173
2012-07-28 14:16:08 +02:00
Zahary Karadjov
371619c43a
fixed the rodfiles tests
2012-07-20 00:35:05 +03:00
Zahary Karadjov
4841b6390c
removed nimdat in favor of per-module dat init procs
2012-07-19 19:43:58 +03:00
Araq
e54ce7ddc1
don't put DLL loading into nimdat
2012-07-19 00:21:29 +02:00
Zahary Karadjov
32e2994636
dynamic library symbols are not loaded in nimdat
2012-07-18 15:40:35 +03:00
Araq
83deb233ee
attempt to fix DLL generation
2012-07-18 00:02:53 +02:00
Araq
4215686cce
x11 example compiles again; updated python wrapper; compiler supports variables in DLLs
2012-07-16 08:11:37 +02:00
Araq
5a838d3e06
thread var emulation should work again
2012-06-25 00:23:41 +02:00
Araq
ee98c76d2e
bite the bullet and make 'initStackBottom' a compilerproc
2012-06-24 20:00:25 +02:00
Araq
e0092cfae6
Merge branch 'master' of github.com:Araq/Nimrod
2012-06-19 22:38:48 +02:00
Araq
f191059e56
somewhat working closures
2012-06-19 22:37:00 +02:00
Zahary Karadjov
df1ec09399
proper indentation in the generated C code
2012-06-12 04:43:58 +03: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
a64f03230a
proper order of initialization for .global. variables
2012-04-10 20:53:44 +03:00
Zahary Karadjov
8d698b2bdd
Merge branch 'master' of github.com:Araq/Nimrod into upstream
2012-03-31 18:51:11 +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
Araq
142e849b91
implemented support for the AVR CPU and standalone OS
2012-03-31 01:03:14 +02:00
Araq
2c4a1dbc0c
further steps for closure support
2012-02-08 09:10:59 +01:00
Araq
632aece191
further steps to closure support
2012-02-06 00:19:56 +01:00
Zahary Karadjov
c3e790b1ed
fixes #87
2012-02-03 03:23:43 +02:00
Araq
4b95233632
fixes #98
2012-01-29 19:12:48 +01:00
Araq
1ba3dbc759
bugfix tests/tzeroarray
2012-01-29 13:38:23 +01:00
Araq
8aa4e46707
implemented incompleteStruct pragma; embedded debugger works with posix module
2012-01-05 00:46:51 +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
fc9fdc2b9d
cleaned up configuration file handling and documented the new behaviour
2011-11-30 00:53:41 +01:00
Araq
7fcbdc6d42
implemented 'let' statement
2011-11-29 17:27:48 +01:00
Araq
2de98d9e05
new pragma: 'noinit'
2011-11-25 15:33:58 +01:00
Araq
fedc69f61a
unused constants are optimized away
2011-11-22 18:48:00 +01:00
Zahary Karadjov
489340658e
Added system.program_results for controlling the exit code of the program under normal circumstances
...
Implemented operators like +=, -=, etc for ordinals, floats and string
Programs using the UnitTest module will now report the number of failed tests as the exit code of test runs (0 for successful run)
2011-11-10 04:10:03 +02:00
Araq
c517639155
lazy loading of body ast implemented
2011-10-30 20:53:04 +01:00
Araq
299390a585
constant folding for cnst[i] and cnst.attr
2011-10-29 23:54:50 +02:00
Araq
abe9dfafe8
compilation cache: DLL interfacing now works
2011-10-27 18:02:01 +02:00
Araq
627d33da08
compilation cache: small fixes; methods still not working
2011-10-23 21:39:02 +02:00
Araq
dce8d3d1ab
rod files: next trivial examples working
2011-10-22 22:49:51 +02:00
Araq
182ab85dc8
trivial change scenario works with symbol files
2011-10-22 01:51:30 +02:00
Araq
ddbad192a4
got rid of gToTypeInfoId
2011-10-21 21:39:12 +02:00
Araq
d871cadbb3
got rid of gGeneratedSyms
2011-10-21 21:02:03 +02:00
Araq
43eace163a
further steps for incremental C code generation
2011-10-21 19:07:01 +02:00
Araq
a6f90d4cdd
first steps to C file merge operation for incremental compilation
2011-10-21 01:06:24 +02:00