summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* fixes #5846Andreas Rumpf2017-06-291-2/+3
|
* Fixes #5946 (#6017)Yuriy Glukhov2017-06-261-2/+3
|
* JS gen: fixes regressionAndreas Rumpf2017-06-261-7/+15
|
* Fix #5084Zahary Karadjov2017-06-201-3/+6
|
* Fix #5983Zahary Karadjov2017-06-202-1/+10
|
* Fix #5888Zahary Karadjov2017-06-203-2/+7
|
* Fix #4737Zahary Karadjov2017-06-203-5/+15
|
* Fix #5127Zahary Karadjov2017-06-202-6/+7
|
* Fix #4020; Better handling of templates within conceptsZahary Karadjov2017-06-204-2/+9
|
* fix #5968Zahary Karadjov2017-06-201-1/+3
|
* fix #1082Zahary Karadjov2017-06-201-2/+4
|
* fix #1017; fix #3309Zahary Karadjov2017-06-202-1/+8
|
* fix #2730; fix #4880Zahary Karadjov2017-06-202-1/+9
|
* fix #5017; fix #5893Zahary Karadjov2017-06-201-1/+3
|
* fix #5864Zahary Karadjov2017-06-201-0/+2
|
* add a useful helper for debugging typeRel problemsZahary Karadjov2017-06-201-4/+26
|
* Fix #5962Zahary Karadjov2017-06-202-16/+52
| | | | | | | | | | | | | | | During the instantiation of a generic type A, some other generic type B may be instantiated multiple times with different parameters. We can think about each instantiation as a function call that should temporary bind the parameter names to concrete types. The problem with the existing implementation in semtypinst was that it was performing this binding within a shared global table. In this sense, it was executing the code as a programming language featuring only global variables. In such a language, re-entrant functions cannot be defined properly and hence this was leading to problems with similar types. The solution is simple - just like we need to introduce stack frames to handle re-entrant functions, we introduce a stack of type bindings that are pushed and popped during the generic instantiations.
* introduce a pre-processing pass for the concept bodiesZahary Karadjov2017-06-2011-60/+98
| | | | | | | fixes #4982 fixes #3805 close #3414
* fix #5890Zahary Karadjov2017-06-201-1/+2
|
* Fixes #5995Yuriy Glukhov2017-06-181-1/+1
|
* Ascii character code 127 (DEL) is not printable and must be quoted. (#5984)Markus F.X.J. Oberhumer2017-06-151-1/+1
| | | This is a follow-up to #5823.
* Merge branch 'devel' of github.com:nim-lang/Nim into develAndreas Rumpf2017-06-136-6/+28
|\
| * cgen: #undef some more predefined symbols. (#5831)Markus F.X.J. Oberhumer2017-06-131-0/+10
| | | | | | This is a followup to issue #5171.
| * fixes #5959Araq2017-06-091-2/+1
| |
| * fixes tproctypecache_falsepositive.nim test caseAraq2017-06-083-3/+11
| |
| * restrict casting for closure. (#5948); fixes #5742Parashurama2017-06-071-1/+6
| | | | | | | | | | | | | | | | | | * restrict casting for closure. This commit forbid casting a closure to anything other than another closure. use rawEnv/rawProc to access underlaying pointers. * better error message for closure cast * fixes #5742
* | fixes #5824Andreas Rumpf2017-06-131-1/+6
|/
* fix logical right shift in VM. (#5916)Parashurama2017-06-051-1/+17
|
* .partial object field names are left unmangled; mangling should be done by ↵Andreas Rumpf2017-06-051-1/+1
| | | | the macro instead
* first steps to allow easy functors via macrosAndreas Rumpf2017-06-044-20/+46
|
* fixes #5933Andreas Rumpf2017-06-031-2/+17
|
* fixes #4139Andreas Rumpf2017-06-031-8/+15
|
* review and merge zahary's work (#5849)zah2017-06-033-133/+199
| | | | | | | | | * proper indentation for the generated JS code * improved dead-code elimination for JavaScript * test the JS dead-code elimination A new test spec has been added - "maxcodesize". It specifies the maximum size of the generated code in bytes.
* improved comment satement support in macros (#5904)Arne Döring2017-06-022-1/+2
|
* fix right shift c codegen bug. (#5919)Parashurama2017-05-311-3/+4
| | | | | | * fix right shift c codegen bug. signed int must first be cast as unsigned before converting to larger integer. The C compiler will auto convert operands to the largest type.
* Merge branch 'devel' of github.com:nim-lang/Nim into develAraq2017-05-311-0/+2
|\
| * Creating and setting comment nodes in macros (#5850)Fredrik Høisæther Rasch2017-05-311-0/+2
| | | | | | | | | | | | | | * strVal assingnable comment statement ast nodes * Set comment instead of strVal for comment nodes * Added test code for creating and setting comment nodes * Modified the AST spec documentation for documentation comments
* | improve confusing error messages for failed overloading resolution when ↵Araq2017-05-311-1/+7
|/ | | | deref of first arg failed
* a few tiny cleanups (#5712)Jacek Sieka2017-05-294-30/+12
| | | exposes emitLazily (for nlvm) and simplifies some conditionals
* Merge pull request #5823 from markus-oberhumer/ascii127-is-not-printableVarriount2017-05-262-2/+2
|\ | | | | Ascii character code 127 (DEL) is not printable.
| * Ascii character code 127 (DEL) is not printable.Markus F.X.J. Oberhumer2017-05-162-2/+2
| |
* | niminst: add missing nimsuggest tool; small koch.nim cleanupAraq2017-05-171-0/+2
| |
* | Merge branch 'araq2' into develAraq2017-05-1723-313/+656
|\ \
| * | cleanup of in/out covariance handlingAndreas Rumpf2017-05-175-35/+32
| | |
| * | Merge branch 'zahary' into araq2Andreas Rumpf2017-05-1714-78/+293
| |\ \
| | * | fix affecting templates with explicit generic paramsZahary Karadjov2017-05-132-28/+8
| | | |
| | * | fix tinvalidinoutZahary Karadjov2017-05-131-3/+0
| | | |
| | * | work-around for defining imported types with weak covarianceZahary Karadjov2017-05-131-0/+16
| | | |
| | * | enforce the covariance rules for user-defined generic typesZahary Karadjov2017-05-135-17/+105
| | | |
| | * | covariance for arrays and sequencesZahary Karadjov2017-05-121-12/+40
| | | |