summary refs log tree commit diff stats
path: root/compiler/cgen.nim
Commit message (Collapse)AuthorAgeFilesLines
* merged upstream masterZahary Karadjov2013-01-271-13/+0
|\
| * first steps for FFI support at compile timeAraq2012-12-191-11/+0
| |
| * fixes #277; documentation improvementsAraq2012-12-171-2/+0
| |
* | cleaned up some debugging codeZahary Karadjov2013-01-201-13/+11
| |
* | adds an option to interleave the generated code with snippets from the ↵Zahary Karadjov2012-12-021-40/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | original source Lines from the original source are outputted as comments next to line directives. Hopefully, this will make debugging codegen problems easier. Other changes: The frame setup code now uses a single-line C macro. My motivation was to reduce the noise in the generated output and make it easier to step over the boiler-plate code, but counter-intuitively this also improved the overall compilation speed a little bit so I applied the same treatment to line tracking too (this reduces the size of the generated files and the explanation is that probably the I/O overhead dominates the macro expansion costs).
* | disables the compile-time rope formatting during bootstrappingZahary Karadjov2012-11-281-90/+101
| |
* | first batch of rope code converted to `rfmt`Zahary Karadjov2012-11-281-14/+14
| | | | | | | | | | | | The results so far are inconclusive: The rope cache tries have been reduced by more than 125K (nearly 20%), but the bootstrap time seems to be ever slightly increasing (0.01s).
* | experimental compile-time rope formatting codeZahary Karadjov2012-11-281-2/+74
| |
* | [caas] first version that actually works (still has a lot of logical memory ↵Zahary Karadjov2012-11-281-19/+89
| | | | | | | | leaks on recompilation)
* | CaaS in-memory cachingZahary Karadjov2012-11-281-13/+21
| | | | | | | | | | removed some redundant filepath params and variables and switched to canonical paths in most places
* | caas is now drivable through stdinZahary Karadjov2012-11-281-7/+1
|/ | | | | * added idetools --eval * streams.readLine recognises and applies the backspace character
* bugfix: stack traces; first class iterators almost workingAraq2012-11-151-1/+1
|
* bugfix: wrong assertions for C++ code generation; some solaris support; ↵Araq2012-10-301-6/+0
| | | | first steps to an effect system
* fixes #106Zahary Karadjov2012-10-161-1/+1
|
* add static assertions in the generated code about platform-related assumptionsZahary Karadjov2012-10-111-9/+7
|
* better extension loading for the OpenGL wrapperAraq2012-10-091-2/+17
|
* bugfix: closures as default param valuesZahary Karadjov2012-10-061-10/+3
|
* opengl wrapper compiles under windowsAraq2012-09-291-5/+2
|
* website improvements; better opengl wrapper (still broken)Araq2012-09-281-5/+28
|
* bugfix: typeinfo generationAraq2012-09-211-5/+0
|
* implemented a stack trace profilerAraq2012-09-151-16/+3
|
* openarray/varargs split; breaks bootstrappingAraq2012-08-161-10/+10
|
* next steps for tyVarargs/tyOpenArray splitAraq2012-08-141-1/+1
|
* top level closures should work; transf is not a pass anymore; next steps for ↵Araq2012-08-131-1/+1
| | | | first class iterator support
* DLL fixes for windows; fixes #175Zahary Karadjov2012-07-311-1/+2
|
* more reliable NI/NU definitionsAraq2012-07-281-14/+3
|
* implements #173Araq2012-07-281-21/+73
|
* fixed the rodfiles testsZahary Karadjov2012-07-201-1/+1
|
* removed nimdat in favor of per-module dat init procsZahary Karadjov2012-07-191-48/+40
|
* don't put DLL loading into nimdatAraq2012-07-191-34/+27
|
* dynamic library symbols are not loaded in nimdatZahary Karadjov2012-07-181-27/+34
|
* attempt to fix DLL generationAraq2012-07-181-5/+6
|
* x11 example compiles again; updated python wrapper; compiler supports ↵Araq2012-07-161-0/+27
| | | | variables in DLLs
* thread var emulation should work againAraq2012-06-251-4/+7
|
* bite the bullet and make 'initStackBottom' a compilerprocAraq2012-06-241-11/+12
|
* Merge branch 'master' of github.com:Araq/NimrodAraq2012-06-191-41/+70
|\
| * proper indentation in the generated C codeZahary Karadjov2012-06-121-41/+70
| |
* | somewhat working closuresAraq2012-06-191-1/+4
|/
* fixes #20 properlyZahary Karadjov2012-04-151-31/+25
|
* C variables are created in their enclosing block instead of their enclosing ↵Zahary Karadjov2012-04-121-35/+35
| | | | function
* proper order of initialization for .global. variablesZahary Karadjov2012-04-101-1/+5
|
* Merge branch 'master' of github.com:Araq/Nimrod into upstreamZahary Karadjov2012-03-311-1/+7
|\
| * implemented support for the AVR CPU and standalone OSAraq2012-03-311-1/+7
| |
* | typedesc and expr paramsZahary Karadjov2012-03-311-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 supportAraq2012-02-081-0/+1
|
* further steps to closure supportAraq2012-02-061-10/+23
|
* fixes #87Zahary Karadjov2012-02-031-2/+0
|
* fixes #98Araq2012-01-291-1/+1
|
* bugfix tests/tzeroarrayAraq2012-01-291-0/+3
|
* implemented incompleteStruct pragma; embedded debugger works with posix moduleAraq2012-01-051-2/+2
|