summary refs log tree commit diff stats
path: root/compiler/ccgcalls.nim
Commit message (Collapse)AuthorAgeFilesLines
* more efficient calls for closure iteratorsAraq2014-01-251-3/+5
|
* 'nil' as a statement is deprecated, use an empty 'discard' insteadAraq2014-01-191-1/+1
|
* case consistency part 4Araq2013-12-271-2/+2
|
* implemented 'injectStmt'; more debug supportAraq2013-12-161-0/+2
|
* preparations for the new symbol binding rules for clean templatesAraq2013-05-181-1/+1
|
* codegen produces better code for complex assignmentsAraq2013-02-241-1/+1
|
* merged upstream masterZahary Karadjov2013-01-271-2/+2
|\
| * fixes #299Araq2013-01-081-2/+2
| |
* | first batch of rope code converted to `rfmt`Zahary Karadjov2012-11-281-24/+24
|/ | | | | | 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).
* Improved support for nkSymChoices in type coercionsZahary Karadjov2012-10-151-10/+11
| | | | | | | | | | For example, this allows you to pick up a proc with a specific signature from an overload set. bugfix: nimrod generated invalid code when a RVO function had a single compile-time param bugfix: nkHiddenDerefs were not neutralised properly for indirect proc calls
* fixes #186 and the ttypedesc1 test caseZahary Karadjov2012-09-231-5/+5
|
* next steps for tyVarargs/tyOpenArray splitAraq2012-08-141-2/+2
|
* proper indentation in the generated C codeZahary Karadjov2012-06-121-24/+15
|
* fixes #127Araq2012-05-301-5/+10
|
* fixes #20 properlyZahary Karadjov2012-04-151-3/+0
|
* C variables are created in their enclosing block instead of their enclosing ↵Zahary Karadjov2012-04-121-16/+18
| | | | function
* 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.
* bootstraps fine with overloadable templatesZahary Karadjov2012-03-141-1/+2
|
* further steps for closure supportAraq2012-02-061-4/+2
|
* further steps to closure supportAraq2012-02-061-3/+68
|
* fixes #89Araq2012-01-291-1/+4
|
* removed nimKeepAlive as it's not necessary with interior pointer checkingAraq2012-01-151-44/+20
|
* year 2012 for most copyright headersAraq2012-01-021-1/+1
|
* code gen can generate code to keep alive stack rootsAraq2011-12-221-2/+4
|
* compiler generates volatile temps to keep C compiler from optimizing away ↵Araq2011-12-121-0/+2
| | | | stack roots
* codegen uses alias analysis to generate better codeAraq2011-12-101-30/+62
|
* implemented 'let' statementAraq2011-11-291-1/+1
|
* C codegen: generate nimKeepAlive calls at strategic places to keep the C ↵Araq2011-11-241-0/+232
compiler from optimizing away all stack roots