Commit Graph

3743 Commits

Author SHA1 Message Date
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
Araq
93be594eca fix of recently introduced parsing bug 2011-11-02 19:04:40 +01:00
Araq
cacb200eff fixes #2 2011-11-02 02:47:34 +01:00
Araq
77222b2aad fixes #59 2011-11-02 02:36:01 +01:00
Araq
1f6725e59e small bugfixes to make more tests green 2011-11-02 02:28:18 +01:00
Araq
95df3ee1ce Merge branch 'master' of github.com:Araq/Nimrod 2011-11-02 00:55:45 +01:00
Araq
351e89e705 better code generation for constant aggregates 2011-11-02 00:55:29 +01:00
dom96
e1a82987af Fixed the tester. Some fixes and additions for the JS backend. 2011-10-31 15:39:01 +00:00
Araq
47f523cfb8 bugfix: template t(f_no_Type) does not crash the compiler anymore in 'check' mode 2011-10-30 21:27:02 +01:00
Araq
c517639155 lazy loading of body ast implemented 2011-10-30 20:53:04 +01:00
Araq
78f37b2336 compilation cache: slurped files are a dependency too 2011-10-30 01:02:15 +02:00
Araq
299390a585 constant folding for cnst[i] and cnst.attr 2011-10-29 23:54:50 +02:00
Araq
a0a8934a4f eval context for macros lives as long as the current module is compiled 2011-10-28 01:38:41 +02:00
Araq
fe9bb1869d JS backend: supports methods (untested) 2011-10-28 00:14:19 +02:00
Araq
5e5e4abfee new compiler option tlsEmulation 2011-10-27 21:03:53 +02:00
Araq
abe9dfafe8 compilation cache: DLL interfacing now works 2011-10-27 18:02:01 +02:00