summary refs log tree commit diff stats
path: root/compiler/cgmeth.nim
Commit message (Collapse)AuthorAgeFilesLines
* arc optimizations (#13325)Andreas Rumpf2020-03-181-1/+1
| | | | | * scope based destructors * handle 'or' and 'and' expressions properly, see the new test arc/tcontrolflow.nim * make this branch mergable, logic is disabled for now
* make case-object transitions explicit, make unknownLineInfo a const, replace ↵Jasper Jenkins2020-01-171-3/+3
| | | | a few magic numbers with consts (#13170)
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-65/+63
| | | | | | | | | | | | | | | | | | * Cleanup compiler code base * Unify add calls * Unify len invocations * Unify range operators * Fix oversight * Remove {.procvar.} pragma * initCandidate -> newCandidate where reasonable * Unify safeLen calls
* Small ast.nim cleanup (#12156)Clyybber2019-09-091-8/+8
| | | | | * Remove sonsLen * Use Indexable
* [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-181-1/+1
|
* fixes #10912 (#11317)Andreas Rumpf2019-05-241-3/+3
| | | | | | * fixes #10912 * update the tutorial examples
* rename tyExpr/tyStmt to tyUntyped/tyTyped (#11227)Arne Döring2019-05-111-1/+1
|
* Replace countup(x, y) with x .. yClyybber2019-05-071-2/+2
|
* Replace countup(x, y-1) with x ..< yClyybber2019-05-071-10/+10
|
* multi-methods need to be explicitly enabled (#10856)Miran2019-03-181-0/+3
| | | | | | * multi-methods need to be explicitly enabled * update changelog, manual and tutorial
* multi-methods: remove hack, make tmethod_various compile under strict C++ ↵Andreas Rumpf2019-03-141-11/+11
| | | | [backport]
* compiler refactoring: TSymSeq is gone for goodAraq2018-12-111-3/+3
|
* Change the order of compilation passes, transformation is made lazy at code ↵cooldome2018-10-181-0/+1
| | | | | | | | | | | | | | | gen (#8489) * Ast no transformation * Add getImplNoTransform to the macros module * progress on delaying transf * Fix methods tranformation * Fix lazy lambdalifting * fix create thread wrapper * transform for lambda lifting * improve getImplTransformed * Fix destructor tests * try to fix nimprof for linux
* fixes #5479Araq2018-10-021-2/+2
|
* Pick the `and` symbol we need explicitly (#8249)LemonBoy2018-07-081-2/+2
| | | | | | | Using getSysSym made the compiler pick a random `and` symbol: if the symbol table is shuffled we may end up selecting one of the wrong overloads. Fixes #8246
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-1/+1
|
* make tests green againAndreas Rumpf2018-05-181-1/+1
|
* remove ast.emptyNode global; cleanup configuration.nimAraq2018-05-161-3/+3
|
* pragmas compiles againAndreas Rumpf2018-05-111-22/+23
|
* preparations for language extensions: 'sink' and 'lent' typesAndreas Rumpf2018-01-071-1/+1
|
* Fixes #5946 (#6017)Yuriy Glukhov2017-06-261-2/+3
|
* fixes multiple nil-checks for methods (#5806)Parashurama2017-05-121-3/+6
|
* fixes #5599 (#5610)Andreas Rumpf2017-03-261-2/+8
|
* fixes #5432Araq2017-02-261-1/+2
|
* another attempt to make test green againAraq2017-02-241-2/+10
|
* fixes a multimethod regressionAndreas Rumpf2017-02-241-6/+9
|
* big compiler refactoring; avoid globals for multi method dispatcher generationAndreas Rumpf2017-02-221-24/+26
|
* removed tyArrayConstr completely from the compiler; introduced tyAlias ↵Araq2016-11-141-2/+2
| | | | instead in preparation for further bugfixes
* some progress on --symbolfiles:onAndreas Rumpf2016-11-021-2/+3
|
* tester cleanup; enable some rod testsAraq2016-08-271-2/+3
|
* generic multi-methods should work nowAndreas Rumpf2016-07-281-2/+2
|
* fixes #4428Andreas Rumpf2016-07-191-2/+8
|
* fix issue #3550trustable-code2015-12-241-4/+1
|
* better error handling for bug #3550Araq2015-11-181-2/+2
|
* fixes #3550Araq2015-11-181-1/+6
|
* fixes #3431, fixes #3370, fixes #3468Araq2015-10-251-3/+4
|
* Fixed ret by var in jsYuriy Glukhov2015-10-151-2/+1
|
* fixes #2590; methods now require a .base annotationAraq2015-09-061-9/+26
|
* compiler: Trim .nim files trailing whitespaceAdam Strzelecki2015-09-041-42/+42
| | | | via OSX: find . -name '*.nim' -exec sed -i '' -E 's/[[:space:]]+$//' {} +
* Merge branch 'devel' into bigbreakAraq2014-11-031-23/+64
|\ | | | | | | | | Conflicts: lib/pure/osproc.nim
| * Fix dispatcher creation for method prototypes.Reimer Behrends2014-11-021-24/+64
| | | | | | | | | | | | | | | | When method prototypes were involved (e.g. forward declarations for mutual recursion), calls were sometimes dispatched to the wrong method implementation. One of the reasons was that method dispatchers were then not always attached to method ASTs in the correct place.
| * Reset location when creating a method dispatcherReimer Behrends2014-11-011-0/+1
| | | | | | | | | | | | | | | | | | | | When creating a method dispatcher, the location of the underlying method was copied. Under some circumstances, the name of the location (loc.r) was already initialized, in which case the method dispatcher shared a name with one of the methods, leading to a C compiler error. By setting loc.r to nil when copying the dispatcher information from the original method, we ensure that the dispatcher C function gets its proper name.
* | updated the compiler to use the new symbol namesAraq2014-08-281-3/+3
| |
* | Nimrod renamed to NimAraq2014-08-281-1/+1
|/
* implemented region pointersAraq2014-04-091-2/+2
|
* 'nil' as a statement is deprecated, use an empty 'discard' insteadAraq2014-01-191-1/+1
|
* case consistency part 4Araq2013-12-271-8/+8
|
* case consistency part 1Araq2013-12-271-3/+3
|
* fixes #332Araq2013-03-171-2/+2
|
* Removes executable bit for text files.Grzegorz Adam Hankiewicz2013-03-161-0/+0
|