Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | proper indentation in the generated C code | Zahary Karadjov | 2012-06-12 | 1 | -61/+65 |
| | |||||
* | fix compilation errors when bootstrapping with C++ | Zahary Karadjov | 2012-06-04 | 1 | -5/+5 |
| | |||||
* | codegen for C++ exceptions | Zahary Karadjov | 2012-06-03 | 1 | -64/+72 |
| | |||||
* | bugfix: finally blocks were not executed when the except block is exited by ↵ | Zahary Karadjov | 2012-06-03 | 1 | -11/+18 |
| | | | | raise or return | ||||
* | bugfix: field names of tuples are treated consistently in the C backend | Araq | 2012-05-27 | 1 | -1/+1 |
| | |||||
* | added system.||; lacks runtime support | Araq | 2012-05-23 | 1 | -0/+29 |
| | |||||
* | fixes #109 | Araq | 2012-05-20 | 1 | -0/+6 |
| | |||||
* | fixes #20 properly | Zahary Karadjov | 2012-04-15 | 1 | -1/+9 |
| | |||||
* | Proper C scopes for if, try and case statements | Zahary Karadjov | 2012-04-12 | 1 | -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 Karadjov | 2012-04-12 | 1 | -63/+83 |
| | | | | function | ||||
* | re-enable rodfiles tests; fixes #91 | Zahary Karadjov | 2012-04-11 | 1 | -1/+2 |
| | |||||
* | proper order of initialization for .global. variables | Zahary Karadjov | 2012-04-10 | 1 | -1/+1 |
| | |||||
* | Added ``global`` pragma that can be used to introduce new global variables ↵ | Zahary Karadjov | 2012-04-05 | 1 | -4/+9 |
| | | | | from within procs | ||||
* | tests tcnstseq and tcnstseq3 work again | Araq | 2012-03-28 | 1 | -1/+4 |
| | |||||
* | bugfix #100 again | Araq | 2012-03-28 | 1 | -2/+2 |
| | |||||
* | preparations for marker procs generation | Araq | 2012-03-19 | 1 | -15/+18 |
| | |||||
* | first steps for cleaner static/const distinction | Araq | 2012-03-13 | 1 | -0/+2 |
| | |||||
* | attempt to make tests green again | Araq | 2012-03-11 | 1 | -2/+2 |
| | |||||
* | fixes #99 | Araq | 2012-02-17 | 1 | -6/+7 |
| | |||||
* | further steps to closure support | Araq | 2012-02-06 | 1 | -4/+15 |
| | |||||
* | pragma on/off improvements; endb rewritten | Araq | 2012-01-28 | 1 | -0/+11 |
| | |||||
* | unsuccessful phantom bug hunting | Araq | 2012-01-08 | 1 | -2/+8 |
| | |||||
* | year 2012 for most copyright headers | Araq | 2012-01-02 | 1 | -1/+1 |
| | |||||
* | codegen uses alias analysis to generate better code | Araq | 2011-12-10 | 1 | -9/+17 |
| | |||||
* | threads compile again; attempt to fix serious code gen issue (except + return) | Araq | 2011-12-03 | 1 | -6/+12 |
| | |||||
* | implemented 'let' statement | Araq | 2011-11-29 | 1 | -1/+1 |
| | |||||
* | unused constants are optimized away | Araq | 2011-11-22 | 1 | -10/+12 |
| | |||||
* | better code generation for constant aggregates | Araq | 2011-11-02 | 1 | -1/+1 |
| | |||||
* | lazy loading of body ast implemented | Araq | 2011-10-30 | 1 | -1/+1 |
| | |||||
* | new compiler option tlsEmulation | Araq | 2011-10-27 | 1 | -4/+2 |
| | |||||
* | code generator supports constant sequences; more consistent compile time ↵ | Araq | 2011-10-07 | 1 | -1/+2 |
| | | | | evaluation | ||||
* | Multiple C lines corresponding to a single nimrod line are joined together | Zahary Karadjov | 2011-09-20 | 1 | -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 enabled | Zahary Karadjov | 2011-09-20 | 1 | -1/+1 |
| | |||||
* | locks now in their own core module | Araq | 2011-08-20 | 1 | -8/+4 |
| | |||||
* | bugfix: #line generation for windows | Araq | 2011-08-11 | 1 | -2/+2 |
| | |||||
* | support for C++ code generation; importcpp and importobjc pragmas | Araq | 2011-08-07 | 1 | -77/+12 |
| | |||||
* | intsets are now a proper module and part of the stdlib | Araq | 2011-06-14 | 1 | -1/+1 |
| | |||||
* | Bugfix: no #line dir with 0 generated | Araq | 2011-06-10 | 1 | -1/+1 |
| | |||||
* | further steps for thread support; bootstrapping should require unzip C ↵ | Araq | 2011-05-16 | 1 | -9/+74 |
| | | | | sources and ./build.sh | ||||
* | const table support | Araq | 2011-04-29 | 1 | -18/+22 |
| | |||||
* | big repo cleanup | Araq | 2011-04-12 | 1 | -0/+725 |