summary refs log tree commit diff stats
path: root/compiler/semfold.nim
Commit message (Collapse)AuthorAgeFilesLines
* Fix internal error when casting to invalid enum valueNeelesh Chandola2018-12-151-1/+3
|
* Merge pull request #9881 from timotheecour/pr_ref_9880Andreas Rumpf2018-12-111-3/+5
|\ | | | | refs #9880 show index and bound in lots of `index out of bounds` errors
| * refs #9880 show index and bound in lots of `index out of bounds` errorsTimothee Cour2018-12-091-3/+5
| |
* | fixes #9868Araq2018-12-111-0/+8
|/
* NaN fixes for clang backend (#9652)Arne Döring2018-11-081-6/+1
|
* language cleanup: the .unchecked pragma is deadAraq2018-11-061-9/+8
|
* Change the order of compilation passes, transformation is made lazy at code ↵cooldome2018-10-181-8/+9
| | | | | | | | | | | | | | | 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
* [WIP] Early evaluation of mIs (#8723)LemonBoy2018-10-141-40/+3
| | | | | | | | | | * Early evaluation of mIs The `evalIs` implementation was just a broken copy of `isOpImpl` so let's just avoid it alltogether: `mIs` nodes are either resolved during the semantic phase or bust. * Remove dead code and tidy it up
* implement sizeof and alignof operator (manually squashed #5664) (#9356)Timothee Cour2018-10-141-12/+0
|
* string to string conversion keeps the dest type (#9323)LemonBoy2018-10-121-1/+1
| | | Fixes #9322
* Constant folding should not drop distinct typesLemonBoy2018-09-271-4/+1
| | | | Fixes #9079
* Narrowing casts are applied after every op if needed (#8918)LemonBoy2018-09-081-28/+47
| | | | | | | This way we make sure not to end up with weird values every now and then. Fixes #7300 Fixes #8909
* system.compileDate and compileTime are in UTC; fixes #7305; docgen supports ↵Andreas Rumpf2018-09-031-18/+3
| | | | SOURCE_DATE_EPOCH, fixes #3113
* Constant folding for integer casts (#8095)LemonBoy2018-08-311-7/+25
|
* Fix abs & unary sub in semfold (#8724)Oscar Nihlgård2018-08-221-2/+6
|
* Don't consider tyAnd/tyNot/tyOr/tyAnything as generic (#8700)LemonBoy2018-08-221-17/+29
| | | | | | | | | | | | | | | * Don't consider tyAnd/tyNot/tyOr/tyAnything as generic `containsGenericType` was too shallow and didn't check all the branches. The resulting half-processed nodes are often simplified by the constant folding pass but when that's not possible we get a nasty error during codegen. Fixes #8693 * Move the blame onto the semFold pass Slightly better evaluation of `is` forms.
* fixes #6255, add `system.ashr` arithmetic right shift (#8547)andri lim2018-08-071-0/+8
|
* Add sizeof for arrays of integral types (#8445)cooldome2018-07-301-1/+1
|
* More concept fixesLemonBoy2018-06-241-1/+1
| | | | Fixes #7705, #7703, #7702
* Fix constant folding for shl/notLemonBoy2018-06-191-2/+9
| | | | | Since the source and destination types are the same the result should be trimmed to fit.
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-1/+1
|
* platform.nim doesn't use globals anymore; prepare msgs.nim for not using globalsAndreas Rumpf2018-05-181-31/+31
|
* options.nim: no global variables anymoreAndreas Rumpf2018-05-131-4/+4
|
* semfold compiles againAndreas Rumpf2018-05-101-246/+248
|
* big refactoring: mores stuff compilesAndreas Rumpf2018-05-101-13/+7
|
* Don't hide overflow/underflow/divbyzero in semfold (#7732)Oscar Nihlgård2018-05-021-26/+70
| | | | | * firstOrd/lastOrd bugfix * Don't hide overflow/underflow/divbyzero in semfold
* https://reproducible-builds.org/ support via SOURCE_DATE_EPOCH (#7644) (#7661)tersec2018-04-201-2/+17
|
* introduce nkTupleConstr AST node for unary tuple construction; breaking changeAndreas Rumpf2018-04-131-3/+3
|
* fixes #3985Araq2018-02-101-1/+6
|
* Fixes codegen bug with literal negative zero, fixes #7079 (#7158)GULPF2018-01-311-0/+1
| | | | | | * Fixes #7079 * Fix handling of neg zero during constant folding
* fixes #6989Andreas Rumpf2018-01-271-1/+6
|
* preparations for language extensions: 'sink' and 'lent' typesAndreas Rumpf2018-01-071-1/+1
|
* first steps in adding template/macro calls to stack tracesAraq2017-12-211-0/+3
|
* fixes the second example of #6757Andreas Rumpf2017-11-171-7/+7
|
* Merge branch 'devel' into araqAndreas Rumpf2017-10-021-2/+4
|\
| * first implementation of the 'func' keywordAndreas Rumpf2017-09-231-2/+2
| |
| * NimScript: added buildOS and buildCPU constantsAndreas Rumpf2017-09-221-0/+2
| |
* | no interval arithmetic anymore to construct implicit range types; breaking ↵Andreas Rumpf2017-07-131-130/+0
|/ | | | change
* fix #1082Zahary Karadjov2017-06-201-2/+4
|
* introduce a pre-processing pass for the concept bodiesZahary Karadjov2017-06-201-2/+5
| | | | | | | fixes #4982 fixes #3805 close #3414
* removed compiler internal list implementation (#5371)Arne Döring2017-02-221-1/+1
|
* fixes #5399Araq2017-02-161-1/+1
|
* make more tests greenAraq2017-02-161-1/+4
|
* fixes #5216Araq2017-01-271-5/+5
|
* fixes #3434Andreas Rumpf2017-01-191-1/+1
|
* Merge branch 'devel' into sighashesAraq2016-12-191-1/+1
|\
| * fixes nimsuggest issue #40Araq2016-12-181-1/+1
| |
* | removed tyArrayConstr completely from the compiler; introduced tyAlias ↵Araq2016-11-141-1/+2
|/ | | | instead in preparation for further bugfixes
* fixes a compiler crash; refs #4699Andreas Rumpf2016-09-031-1/+2
|
* remove unused stuffJacek Sieka2016-08-091-26/+0
|