summary refs log tree commit diff stats
path: root/compiler/ccgexprs.nim
Commit message (Collapse)AuthorAgeFilesLines
* much more efficient rod file generationAraq2011-10-181-11/+11
|
* code generator supports constant sequences; more consistent compile time ↵Araq2011-10-071-1/+24
| | | | evaluation
* implemented optional pragma for implicit discardAraq2011-09-241-1/+1
|
* l-values are preserved modulo type distinctionAraq2011-09-241-1/+5
|
* Multiple C lines corresponding to a single nimrod line are joined togetherZahary Karadjov2011-09-201-8/+8
| | | | | | | | | | | | | | | | | | | | | | 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 enabledZahary Karadjov2011-09-201-3/+3
|
* inlining of 'var openarray' iterators now workAraq2011-08-181-1/+1
|
* bugfix topenarrayrepr works againAraq2011-08-161-1/+2
|
* finally got rid of nkPassAsOpenArrayAraq2011-08-161-43/+35
|
* added xmltree.innerText; fixes #49Araq2011-08-151-24/+17
|
* support for C++ code generation; importcpp and importobjc pragmasAraq2011-08-071-24/+143
|
* anonymous procs implemented; however no closure support yetAraq2011-08-011-0/+6
|
* 'var T' for iteratorsAraq2011-07-311-1/+1
|
* preparation for new 'is' operator; breaks bootstrapping again, sorry (use ↵Araq2011-07-311-4/+4
| | | | generated C code)
* bugfixes; step one for 'var T' as return type supportAraq2011-07-281-2/+6
|
* bugfix: 'set' overloadable; further steps for multi threading supportAraq2011-07-081-1/+0
|
* importCompilerProc pragma introduced because the hacks for typeinfo.nim did ↵Araq2011-06-271-1/+2
| | | | not suffice
* second attempt to fix code gen for pegs.nimAraq2011-06-261-2/+1
|
* bugfix: pegs.nim compiles againAraq2011-06-261-1/+4
|
* improvements to get code size down for programs that don't use GCAraq2011-06-261-0/+3
|
* compiler can emulate thread local variablesAraq2011-06-151-5/+10
|
* basic thread analysis workingAraq2011-06-131-1/+1
|
* Added typeinfo moduledom962011-06-091-0/+5
|
* overloading of [] for derefence operation should be possible nowAraq2011-06-051-2/+2
|
* threads clean up their heapAraq2011-06-041-3/+7
|
* first steps to thread local heapsAraq2011-06-021-2/+2
|
* further steps for thread support; bootstrapping should require unzip C ↵Araq2011-05-161-33/+17
| | | | sources and ./build.sh
* newStringOfCap implemented and used to optimize some procsAraq2011-05-081-1/+2
|
* const table supportAraq2011-04-291-1/+7
|
* big repo cleanupAraq2011-04-121-0/+1733