Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | thread var emulation should work again | Araq | 2012-06-25 | 1 | -4/+7 |
| | |||||
* | bite the bullet and make 'initStackBottom' a compilerproc | Araq | 2012-06-24 | 1 | -11/+12 |
| | |||||
* | Merge branch 'master' of github.com:Araq/Nimrod | Araq | 2012-06-19 | 1 | -41/+70 |
|\ | |||||
| * | proper indentation in the generated C code | Zahary Karadjov | 2012-06-12 | 1 | -41/+70 |
| | | |||||
* | | somewhat working closures | Araq | 2012-06-19 | 1 | -1/+4 |
|/ | |||||
* | fixes #20 properly | Zahary Karadjov | 2012-04-15 | 1 | -31/+25 |
| | |||||
* | C variables are created in their enclosing block instead of their enclosing ↵ | Zahary Karadjov | 2012-04-12 | 1 | -35/+35 |
| | | | | function | ||||
* | proper order of initialization for .global. variables | Zahary Karadjov | 2012-04-10 | 1 | -1/+5 |
| | |||||
* | Merge branch 'master' of github.com:Araq/Nimrod into upstream | Zahary Karadjov | 2012-03-31 | 1 | -1/+7 |
|\ | |||||
| * | implemented support for the AVR CPU and standalone OS | Araq | 2012-03-31 | 1 | -1/+7 |
| | | |||||
* | | typedesc and expr params | Zahary Karadjov | 2012-03-31 | 1 | -0/+1 |
|/ | | | | | | | | | | | | 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. | ||||
* | further steps for closure support | Araq | 2012-02-08 | 1 | -0/+1 |
| | |||||
* | further steps to closure support | Araq | 2012-02-06 | 1 | -10/+23 |
| | |||||
* | fixes #87 | Zahary Karadjov | 2012-02-03 | 1 | -2/+0 |
| | |||||
* | fixes #98 | Araq | 2012-01-29 | 1 | -1/+1 |
| | |||||
* | bugfix tests/tzeroarray | Araq | 2012-01-29 | 1 | -0/+3 |
| | |||||
* | implemented incompleteStruct pragma; embedded debugger works with posix module | Araq | 2012-01-05 | 1 | -2/+2 |
| | |||||
* | year 2012 for most copyright headers | Araq | 2012-01-02 | 1 | -5/+5 |
| | |||||
* | code gen can generate code to keep alive stack roots | Araq | 2011-12-22 | 1 | -19/+39 |
| | |||||
* | compiler generates volatile temps to keep C compiler from optimizing away ↵ | Araq | 2011-12-12 | 1 | -6/+26 |
| | | | | stack roots | ||||
* | codegen uses alias analysis to generate better code | Araq | 2011-12-10 | 1 | -10/+19 |
| | |||||
* | cleaned up configuration file handling and documented the new behaviour | Araq | 2011-11-30 | 1 | -1/+1 |
| | |||||
* | implemented 'let' statement | Araq | 2011-11-29 | 1 | -1/+2 |
| | |||||
* | new pragma: 'noinit' | Araq | 2011-11-25 | 1 | -7/+8 |
| | |||||
* | unused constants are optimized away | Araq | 2011-11-22 | 1 | -25/+32 |
| | |||||
* | Added system.program_results for controlling the exit code of the program ↵ | Zahary Karadjov | 2011-11-10 | 1 | -2/+2 |
| | | | | | | | | 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) | ||||
* | lazy loading of body ast implemented | Araq | 2011-10-30 | 1 | -1/+1 |
| | |||||
* | constant folding for cnst[i] and cnst.attr | Araq | 2011-10-29 | 1 | -1/+1 |
| | |||||
* | compilation cache: DLL interfacing now works | Araq | 2011-10-27 | 1 | -8/+13 |
| | |||||
* | compilation cache: small fixes; methods still not working | Araq | 2011-10-23 | 1 | -1/+6 |
| | |||||
* | rod files: next trivial examples working | Araq | 2011-10-22 | 1 | -8/+11 |
| | |||||
* | trivial change scenario works with symbol files | Araq | 2011-10-22 | 1 | -21/+28 |
| | |||||
* | got rid of gToTypeInfoId | Araq | 2011-10-21 | 1 | -2/+0 |
| | |||||
* | got rid of gGeneratedSyms | Araq | 2011-10-21 | 1 | -9/+16 |
| | |||||
* | further steps for incremental C code generation | Araq | 2011-10-21 | 1 | -32/+32 |
| | |||||
* | first steps to C file merge operation for incremental compilation | Araq | 2011-10-21 | 1 | -111/+34 |
| | |||||
* | bugfixes for ROD file generation; nimcache dir is now flat | Araq | 2011-10-20 | 1 | -10/+18 |
| | |||||
* | much more efficient rod file generation | Araq | 2011-10-18 | 1 | -1/+1 |
| | |||||
* | implemented optional pragma for implicit discard | Araq | 2011-09-24 | 1 | -2/+2 |
| | |||||
* | Multiple C lines corresponding to a single nimrod line are joined together | Zahary Karadjov | 2011-09-20 | 1 | -11/+38 |
| | | | | | | | | | | | | | | | | | | | | | | 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. | ||||
* | Nimrod can now compile itself with --lineDir enabled | Zahary Karadjov | 2011-09-20 | 1 | -1/+1 |
| | |||||
* | support for C++ code generation; importcpp and importobjc pragmas | Araq | 2011-08-07 | 1 | -3/+4 |
| | |||||
* | bugfix: forwarding of generic procs now works | Araq | 2011-07-30 | 1 | -20/+17 |
| | |||||
* | bugfixes; step one for 'var T' as return type support | Araq | 2011-07-28 | 1 | -1/+1 |
| | |||||
* | bugfix: proper cache for generic instantiations | Araq | 2011-07-21 | 1 | -1/+1 |
| | |||||
* | importCompilerProc pragma introduced because the hacks for typeinfo.nim did ↵ | Araq | 2011-06-27 | 1 | -4/+8 |
| | | | | not suffice | ||||
* | code gen bugfixes; marshal.nim implemented | Araq | 2011-06-26 | 1 | -2/+3 |
| | |||||
* | compiler can emulate thread local variables | Araq | 2011-06-15 | 1 | -72/+34 |
| | |||||
* | intsets are now a proper module and part of the stdlib | Araq | 2011-06-14 | 1 | -12/+12 |
| | |||||
* | got rid of nstrtabs and nhashes modules | Araq | 2011-06-10 | 1 | -1/+1 |
| |