Commit Graph

217 Commits

Author SHA1 Message Date
Araq
d25fefc0ff make trecinca|b tests green 2011-12-31 10:23:56 +01:00
Araq
9fdfda136c critbits added to stdlib 2011-12-30 21:01:50 +01:00
Araq
e9d6f5a647 bugfix: preliminary symbol declaration in first pass of generics 2011-12-30 21:00:38 +01:00
Araq
52e8b597e4 c2nim: bugfix: 'type x[10];' was not parsed properly 2011-12-30 13:55:08 +01:00
Araq
73919e3082 GC stack scanning cares about interior pointers 2011-12-30 11:03:01 +01:00
Araq
76f91b90e2 bugfix: compiler errors for explicit initialization of thread local variables; os.nim does not rely on it anymore 2011-12-23 20:05:08 +01:00
Araq
6260757a2a generated scripts do no contain paths anymore; regenerated C sources 2011-12-23 11:15:19 +01:00
Araq
69cc24cdf6 bugfix: the code gen can now handle alias TLock = TSysLock; this fixes threading bugs 2011-12-23 00:17:59 +01:00
Araq
4012517d6d bugfix: suggest feature 2011-12-22 20:15:02 +01:00
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