summary refs log tree commit diff stats
path: root/compiler/ccgstmts.nim
Commit message (Collapse)AuthorAgeFilesLines
* code generator supports constant sequences; more consistent compile time ↵Araq2011-10-071-1/+2
| | | | evaluation
* Multiple C lines corresponding to a single nimrod line are joined togetherZahary Karadjov2011-09-201-32/+16
| | | | | | | | | | | | | | | | | | | | | | 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-1/+1
|
* locks now in their own core moduleAraq2011-08-201-8/+4
|
* bugfix: #line generation for windowsAraq2011-08-111-2/+2
|
* support for C++ code generation; importcpp and importobjc pragmasAraq2011-08-071-77/+12
|
* intsets are now a proper module and part of the stdlibAraq2011-06-141-1/+1
|
* Bugfix: no #line dir with 0 generatedAraq2011-06-101-1/+1
|
* further steps for thread support; bootstrapping should require unzip C ↵Araq2011-05-161-9/+74
| | | | sources and ./build.sh
* const table supportAraq2011-04-291-18/+22
|
* big repo cleanupAraq2011-04-121-0/+725