summary refs log tree commit diff stats
path: root/compiler/ccgstmts.nim
Commit message (Collapse)AuthorAgeFilesLines
* implemented 'import except'Araq2012-11-281-1/+2
|
* next steps for first class iteratorsAraq2012-11-151-3/+5
|
* improvements for first class iteratorsAraq2012-11-151-1/+6
|
* bugfix: stack traces; first class iterators almost workingAraq2012-11-151-1/+9
|
* bugfix: closures as default param valuesZahary Karadjov2012-10-061-5/+0
|
* improved support for typedesc valuesZahary Karadjov2012-09-251-0/+1
| | | | | * can be stored in constants and variables (including in containers like sequences) * can be passed to and returned from macros
* implemented a stack trace profilerAraq2012-09-151-0/+4
|
* first steps for overloading support of passing blocks; bugfix: test results ↵Araq2012-09-111-1/+1
| | | | of 'compile' are not overwritten
* first steps to deprecate 'nil' statementAraq2012-09-091-3/+4
|
* openarray/varargs split; breaks bootstrappingAraq2012-08-161-1/+1
|
* top level closures should work; transf is not a pass anymore; next steps for ↵Araq2012-08-131-2/+1
| | | | first class iterator support
* idetools improvements; preparation of first class iterators; fixes #183Araq2012-08-021-0/+21
|
* proper indentation in the generated C codeZahary Karadjov2012-06-121-61/+65
|
* fix compilation errors when bootstrapping with C++Zahary Karadjov2012-06-041-5/+5
|
* codegen for C++ exceptionsZahary Karadjov2012-06-031-64/+72
|
* bugfix: finally blocks were not executed when the except block is exited by ↵Zahary Karadjov2012-06-031-11/+18
| | | | raise or return
* bugfix: field names of tuples are treated consistently in the C backendAraq2012-05-271-1/+1
|
* added system.||; lacks runtime supportAraq2012-05-231-0/+29
|
* fixes #109Araq2012-05-201-0/+6
|
* fixes #20 properlyZahary Karadjov2012-04-151-1/+9
|
* Proper C scopes for if, try and case statementsZahary Karadjov2012-04-121-77/+95
| | | | | | | | | even thought the setjmp implementation for try statement won't be used in C++, using properly scoped variables for them is beneficial, because we'll be able to establish a 1:1 relation between nimrod scopes and C scopes. Once we have that, we'll be able to keep the original names of local variables to greatly improve the debugging experience (i.e. watch expressions and hover tooltips will work).
* C variables are created in their enclosing block instead of their enclosing ↵Zahary Karadjov2012-04-121-63/+83
| | | | function
* re-enable rodfiles tests; fixes #91Zahary Karadjov2012-04-111-1/+2
|
* proper order of initialization for .global. variablesZahary Karadjov2012-04-101-1/+1
|
* Added ``global`` pragma that can be used to introduce new global variables ↵Zahary Karadjov2012-04-051-4/+9
| | | | from within procs
* tests tcnstseq and tcnstseq3 work againAraq2012-03-281-1/+4
|
* bugfix #100 againAraq2012-03-281-2/+2
|
* preparations for marker procs generationAraq2012-03-191-15/+18
|
* first steps for cleaner static/const distinctionAraq2012-03-131-0/+2
|
* attempt to make tests green againAraq2012-03-111-2/+2
|
* fixes #99Araq2012-02-171-6/+7
|
* further steps to closure supportAraq2012-02-061-4/+15
|
* pragma on/off improvements; endb rewrittenAraq2012-01-281-0/+11
|
* unsuccessful phantom bug huntingAraq2012-01-081-2/+8
|
* year 2012 for most copyright headersAraq2012-01-021-1/+1
|
* codegen uses alias analysis to generate better codeAraq2011-12-101-9/+17
|
* threads compile again; attempt to fix serious code gen issue (except + return)Araq2011-12-031-6/+12
|
* implemented 'let' statementAraq2011-11-291-1/+1
|
* unused constants are optimized awayAraq2011-11-221-10/+12
|
* better code generation for constant aggregatesAraq2011-11-021-1/+1
|
* lazy loading of body ast implementedAraq2011-10-301-1/+1
|
* new compiler option tlsEmulationAraq2011-10-271-4/+2
|
* 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
|