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
Araq
78f4aacde9
pragma blocks; fixed line information issue with user defined assertions
2012-01-17 23:58:18 +01:00
Araq
e362cbbfd7
bugfix: tests/reject/tnoinst.nim is now rejected properly
2012-01-13 13:40:05 +01:00
Araq
e7e3c451ef
removed '^ deprecated' message
2012-01-10 00:33:32 +01:00
Araq
7f3b3298b4
fixes #33
2012-01-07 20:30:51 +01:00
Araq
4f1b89c30c
year 2012 for most copyright headers
2012-01-02 23:07:35 +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
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
4487b614e1
c2nim compiles again
2011-12-12 19:11:31 +01:00
Zahary Karadjov
d171a8b36f
path canonicalization for imported modules, relative paths written in rod files
2011-12-11 11:24:52 +02:00
Zahary Karadjov
e4e74034c2
path canonicalization and proper project relative paths
2011-12-09 04:40:59 +02:00
Araq
70cf34cbdc
'assert' is now implemented without compiler magic
2011-12-04 20:14:50 +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
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
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
04e5c6718e
proper error message when attempting to eval C'imported procs
2011-11-20 17:17:47 +01:00
Araq
1f6725e59e
small bugfixes to make more tests green
2011-11-02 02:28:18 +01:00
Araq
5e5e4abfee
new compiler option tlsEmulation
2011-10-27 21:03:53 +02:00
Araq
7ebaf44897
bugfixes for ROD file generation; nimcache dir is now flat
2011-10-20 09:06:05 +02:00
Araq
4de84024e5
much more efficient rod file generation
2011-10-18 17:21:51 +02:00
Zahary Karadjov
22546c44d1
Basic unit testing facilities (suites, fixtures, cases)
...
Added: PNimrodNode.lineinfo for better error messages from macros
Added: seq.splice
For easier use from templates and macros, except stament now supports
the list of exception types to be supplied in nkBraket node (array literal).
2011-10-07 17:07:18 +03:00
Araq
6023e994fb
beginning of a taint mode; type system enhancements
2011-09-24 00:46:41 +02:00
Zahary Karadjov
0b197ade6c
Multiple C lines corresponding to a single nimrod line are joined together
...
This patch greatly improves the "step over" operation available in debuggers.
In practice, there are often 4-8 lines of C code generated for each nimrod line
Each such line will be responsible to a single step in the debugger that is
a) not expected by the user
b) taking the user to an incorrect line in the nimrod code
To keep this working, all code generation should use the rope formatting
facilities when producing new lines (i.e. $n and $N).
New semantics for the format string are introduced:
$n means "soft new line" that could be joined/broken when lineDir is enabled.
$N means "hard new line" that will always appear as a new line.
As an alternative to this approach, I also tested producing code like this:
#line "code.nim" 154
foo = bar; \
foo(bar) \
This is better for readability of the final output, but unfortunately it didn't
produce the desired result across all compilers/debuggers.
2011-09-20 14:11:06 +03:00
Zahary Karadjov
0f0dfd6379
Nimrod can now compile itself with --lineDir enabled
2011-09-20 14:11:06 +03:00
Araq
6a8a409f1b
preparation for new 'is' operator; breaks bootstrapping again, sorry (use generated C code)
2011-07-31 00:21:32 +02:00
Araq
2f066395ba
bugfixes; step one for 'var T' as return type support
2011-07-28 00:53:52 +02:00
Araq
5b96eaa953
preparations for 0.8.12
2011-07-10 15:48:13 +02:00
Araq
99bcc233cd
bugfix: 'set' overloadable; further steps for multi threading support
2011-07-08 01:29:15 +02:00
Araq
4fa80956b8
compiler can emulate thread local variables
2011-06-15 02:09:02 +02:00
Araq
c019d17561
first (non working) implementation of global thread analysis
2011-06-13 01:40:22 +02:00
Araq
145fabeb67
const table support
2011-04-29 22:55:15 +02:00
Araq
e487c0a249
better error message for invalid module names
2011-04-16 09:11:24 +02:00
Araq
cd292568d7
big repo cleanup
2011-04-12 01:13:42 +02:00