Araq
cd83cc81aa
code gen can generate code to keep alive stack roots
2011-12-22 15:04:00 +01:00
Araq
e8376067ef
C code gen: generate even better code for the GC
2011-12-12 22:46:21 +01:00
Araq
4487b614e1
c2nim compiles again
2011-12-12 19:11:31 +01:00
Araq
3c53c4c2b0
compiler takes advantage of 'new(Obj|New)RC1
2011-12-12 08:37:35 +01:00
Araq
98ed7fbf16
Merge branch 'master' of github.com:Araq/Nimrod
2011-12-12 01:40:47 +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
Zahary Karadjov
caa4766a33
the current directory is no longer taken into account when resolving module paths
2011-12-11 12:41:06 +02:00
Zahary Karadjov
67bc23bb60
Merge branch 'master' of github.com:Araq/Nimrod into upstream
2011-12-11 11:26:50 +02:00
Zahary Karadjov
d171a8b36f
path canonicalization for imported modules, relative paths written in rod files
2011-12-11 11:24:52 +02:00
Araq
af792da0bb
codegen uses alias analysis to generate better code
2011-12-10 01:06:32 +01:00
Zahary Karadjov
de4b894541
proc arguments are in scope when the result type definition is being processed
...
This is intended for type deduction depending on the arguments
proc foo(x: type): type(expr(x))
2011-12-09 16:05:51 +02:00
Zahary Karadjov
e4e74034c2
path canonicalization and proper project relative paths
2011-12-09 04:40:59 +02:00
Araq
2962ca7890
alias analysis as required for the code gen and the HLO
2011-12-08 23:21:08 +01:00
Zahary Karadjov
2f95e4d829
Speed-up symbolFiles:on operations on windows
2011-12-07 00:45:52 +02:00
Araq
c6213c9774
fixes #71 ; sorry about the polling implementation
2011-12-05 21:43:45 +01:00
Araq
70cf34cbdc
'assert' is now implemented without compiler magic
2011-12-04 20:14:50 +01:00
Araq
728328eec2
threads compile again; attempt to fix serious code gen issue (except + return)
2011-12-03 19:22:01 +01:00
Araq
c8d270268a
bugfixes for .rod files and visual C++
2011-12-03 17:21:35 +01:00
Araq
ab5621a62b
bugfix: don't process arguments that are to be passed to the produced exe
2011-11-30 19:51:51 +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
31a994cc10
thoughts about implicit includes and imports
2011-11-29 08:49:17 +01:00
Araq
e261a88d07
further steps to get rid of deprecated endOfFile and readLine
2011-11-29 01:24:58 +01:00
Araq
a489161b16
compiler uses new 'readLine'
2011-11-27 19:01:55 +01:00
Araq
7832af187a
argument passing with --run option works again
2011-11-27 17:34:45 +01:00
Araq
020a10927a
fixes #31
2011-11-27 16:32:05 +01:00
Araq
840979b45c
Merge branch 'master' of github.com:Araq/Nimrod
2011-11-26 10:49:48 +01:00
Araq
02e8e9c3ea
fixed bug that kept tls emulation from working
2011-11-25 17:26:11 +01:00
Zahary Karadjov
c617479c68
New algorithm for locating and loading nimrod config files.
...
Some new options added to the compiler (see news.txt for details)
2011-11-25 17:29:55 +02:00
Araq
2de98d9e05
new pragma: 'noinit'
2011-11-25 15:33:58 +01:00
Araq
093af9b9eb
'export' is now a keyword
2011-11-24 23:34:37 +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
Araq
fedc69f61a
unused constants are optimized away
2011-11-22 18:48:00 +01:00
Araq
04e5c6718e
proper error message when attempting to eval C'imported procs
2011-11-20 17:17:47 +01:00
Araq
72651de710
bugfix: 'when' sections in generic objects now work, so TThread[void] compiles
2011-11-20 16:13:03 +01:00
Araq
62aa8bed3b
tester: threading tests added
2011-11-19 02:05:16 +01:00
Zahary Karadjov
12bac28d23
macros and templates can be expanded anywhere where a type is expected.
...
This allows for various type selection algorithms to be implemented.
See tests / accept / compile / ttypeselectors.nim for examples.
2011-11-18 02:11:15 +02:00
Araq
61792dc7d6
cgen: no type canon for integral types; osproc use posix_spawn instead of fork&exec
2011-11-18 00:29:56 +01:00
Araq
7819b84475
bugfixes: objects still invalid for constants; fixed a typo concerning 'high' in eval context
2011-11-15 23:03:14 +01:00
Araq
4c5cf88c16
compilation cache: improvement: switching from codegen to 'check only' does not trigger a recompilation
2011-11-15 00:11:49 +01:00
Araq
bec06a0649
bugfix: s[1..n] = @[] produced wrong C code
2011-11-14 08:33:44 +01:00
Araq
3b6d831549
Merge branch 'master' of github.com:Araq/Nimrod
2011-11-12 01:21:10 +01:00
Araq
8fc15ca0d5
added another test case
2011-11-12 01:02:06 +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
68be801f63
operator precedence changed: assignment like operators are supported; escaping of operators with \ is supported
2011-11-09 01:42:05 +01:00
Araq
089e287c6e
compilation cache: fixed recently introduced bug (lazy loading of bodies)
2011-11-06 01:11:38 +01:00
Araq
dc08a033d9
memfiles now uses winlean; changed the interface to raise EOS
2011-11-05 12:16:49 +01:00
Zahary Karadjov
b72480ec88
new kind of AST printer that prints indented trees
...
AST-to-string conversion procs renamed to repr, treeRepr and lispRepr for better consistency
new dumpTree and dumpLisp procs for quick AST inspection of arbitrary nimrod blocks
2011-11-04 04:56:40 +02:00
Araq
d819350145
bugfix: new GCC version requires -ldl to come after object files
2011-11-03 20:17:46 +01:00
Araq
64e74cf484
bugfix: code gen for constant sequences
2011-11-02 19:47:33 +01:00