summary refs log tree commit diff stats
path: root/compiler/vmgen.nim
Commit message (Collapse)AuthorAgeFilesLines
* implemented macros.getImplAraq2015-08-211-0/+1
|
* VM: repl supports global variables properly"Araq2015-08-161-3/+3
|
* Merge pull request #3177 from zah/generic-types-in-macrosAndreas Rumpf2015-08-141-2/+23
|\ | | | | Generic types in macros
| * Disable the new generic params handling for immediate template and macrosZahary Karadjov2015-08-021-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Since immediate templates are not subjected to the standard sigmatching algorithm, they will have a number of deficiencies when it comes to generic params: Type dependencies between the parameters won't be honoured and the bound generic symbols won't be resolvable within their bodies. We could try to fix this, but it may be wiser to just deprecate immediate templates and macros now that we have working untyped parameters. Disabling the new features is admittedly not the greatest way to handle this situations as it introduces inconsistency in the language, but at least it makes the code backwards-compatible with the previous version of the compiler instead of triggering more serious problems.
| * fix #1858 again; restores the support for static macro paramsZahary Karadjov2015-08-021-2/+19
| |
* | fixes #3066Araq2015-08-091-0/+3
| |
* | fixes #1329Araq2015-08-091-0/+2
|/
* emerald project has a chance of workingAraq2015-08-021-9/+18
|
* staticExec now supports cachingAraq2015-07-151-1/+13
|
* macros: Introduce sameType(a, b) for node typesAdam Strzelecki2015-07-031-0/+1
| | | | | | | | | | | | | Previously introduced node comparison `==` was working somehow wrong on nodes returned from getType(a), comparing just ids of the symbols. Recently introduced `==` change 47dce2688633fad840a2f5e4073c531f1cd640ca started comparing symbol nodes pointer-wise, thus strictly. Since getType(a) always creates new symbol pointing to the type, comparing two such nodes using `==` always returns false, even they point to the same type. That is why we need a new sameType macro to be able to tell if these nodes point to the same type.
* fixes #3041Araq2015-07-021-20/+26
|
* fixes #2297, fixes #2946Araq2015-06-181-6/+1
|
* Removed magics: mAbsI64rku2015-06-101-1/+1
|
* Removed magics: mBitnotI64rku2015-06-101-1/+1
|
* Removed magics: mEqI64 mLtI64 mLeI64rku2015-06-101-3/+3
|
* Removed magics: mShrI64, mShlI64, mBitandI64, mBitorI64, mBitxorI64rku2015-06-101-5/+5
| | | | Author: rku <rokups@zoho.com>
* Removed magics: mAddI64, mSubI64, mMulI64, mDivI64, mModI64rku2015-06-101-5/+5
| | | | Author: rku <rokups@zoho.com>
* marshalling can be done at compile-timeAraq2015-04-251-4/+42
|
* added '..^' and '..<' operators; 'nil' is allowed for 'len'; added plugin ↵Araq2015-04-221-2/+2
| | | | system to the compiler
* cleaned up some magics to make room for new magics; added '..<' and '..^' ↵Araq2015-04-221-2/+2
| | | | templates
* VM: minor fixes to make lexim workAraq2015-04-201-3/+4
|
* Fixes #1986 when calling sameConstant on uintJoseph Turner2015-04-091-1/+1
| | | | | | | | | The problem was saveConstant only checked the range `nkCharLit..nkInt64Lit`, but not up to UInt. This lead to the sonsLen method being called, where sons was never declared. This commit changes it to `nkCharLit..nkUint64Lit`, to match the case statements in the type definition of TNode, in ast.nim.
* fixes another regressionAraq2015-03-271-1/+2
|
* fixes #2346Araq2015-03-161-44/+44
|
* implements a type API for macrosAraq2015-02-241-1/+6
|
* macros.PNimrodNode is now NimNodeAraq2015-02-241-1/+1
|
* Fix typosFederico Ceratto2015-02-151-1/+1
|
* tables work in 'const' sections; echo supports 'nil' strings; minor cleanupsAraq2015-02-091-1/+2
|
* Fixed high(cstring) in vmgen tooSimon Hafner2015-02-011-1/+2
|
* Revert 5e4ae8dDustin Lacewell2015-01-071-20/+3
|
* Happy new year!Guillaume Gelin2015-01-061-1/+1
|
* unstaged fileZahary Karadjov2015-01-051-1/+1
|
* fix #1858; Add support for generic templates and macrosZahary Karadjov2015-01-051-3/+20
| | | | | | | | | Implementation notes: Just after overload resolution, the resolved generic params will be added to the call expression to be later processed in evalTemplate and evalMacroCall. These procs have been modified to handle the increased number of parameters, but one remaining issue is that immediate templates and macros don't go through the same process. The next commit will outlaw the use of generic parameters with such macros.
* fixes #1781Araq2014-12-281-5/+8
|
* fixes #1742Araq2014-12-241-1/+1
|
* fixes #1744Araq2014-12-171-5/+7
|
* fixes #1718Araq2014-12-101-0/+2
|
* fixes #1548Araq2014-11-171-5/+7
|
* fixes #1473Araq2014-11-121-2/+7
|
* fix issue #1581Billingsly Wetherfordshire2014-10-201-0/+1
|
* implemented 'guard' annotationAraq2014-09-211-0/+2
|
* merged things from develAraq2014-09-121-1/+0
|\
| * fixes #903, fixess #1513Araq2014-09-111-6/+14
| |
* | added nimfix toolAraq2014-09-051-1/+1
| |
* | fixes recently introduced regressionAraq2014-09-031-1/+4
| |
* | fixes #903, fixes #1513Araq2014-09-031-7/+18
| |
* | VM supports math and a few os procsAraq2014-08-301-1/+22
| |
* | Nimrod renamed to NimAraq2014-08-281-1/+1
|/
* fixes #1343Araq2014-08-151-4/+3
|
* fixes #1433Araq2014-08-141-0/+2
|