Oscar Nihlgård
0091f2ad3b
Implement {.booldefine.} ( #10533 )
2019-02-03 09:06:00 +01:00
Neelesh Chandola
c673607d36
Fix internal error when casting to invalid enum value
2018-12-15 22:19:39 +05:30
Andreas Rumpf
bb1ce398af
Merge pull request #9881 from timotheecour/pr_ref_9880
...
refs #9880 show index and bound in lots of `index out of bounds` errors
2018-12-11 21:49:08 +01:00
Araq
4ec40796e6
fixes #9868
2018-12-11 10:28:56 +01:00
Timothee Cour
f3ecc15a94
refs #9880 show index and bound in lots of index out of bounds errors
2018-12-09 16:50:45 -08:00
Arne Döring
6a57ec6d2e
NaN fixes for clang backend ( #9652 )
2018-11-08 20:17:37 +01:00
Araq
e71410d74e
language cleanup: the .unchecked pragma is dead
2018-11-06 13:55:03 +01:00
cooldome
eaca5be9d6
Change the order of compilation passes, transformation is made lazy at code 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
2018-10-18 20:21:25 +02:00
LemonBoy
4808ef72db
[WIP] Early evaluation of mIs ( #8723 )
...
* 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
2018-10-14 08:53:41 +02:00
Timothee Cour
745f1642d6
implement sizeof and alignof operator (manually squashed #5664 ) ( #9356 )
2018-10-14 00:52:28 +02:00
LemonBoy
fab4d38411
string to string conversion keeps the dest type ( #9323 )
...
Fixes #9322
2018-10-12 08:50:28 +02:00
LemonBoy
e9b5a4e25d
Constant folding should not drop distinct types
...
Fixes #9079
2018-09-27 17:08:01 +02:00
LemonBoy
7107ec05de
Narrowing casts are applied after every op if needed ( #8918 )
...
This way we make sure not to end up with weird values every now and
then.
Fixes #7300
Fixes #8909
2018-09-08 19:41:07 +02:00
Andreas Rumpf
e4be1cb814
system.compileDate and compileTime are in UTC; fixes #7305 ; docgen supports SOURCE_DATE_EPOCH, fixes #3113
2018-09-03 22:23:10 +02:00
LemonBoy
2c8361bd39
Constant folding for integer casts ( #8095 )
2018-08-31 13:45:42 +02:00
Oscar Nihlgård
7dcf435b4b
Fix abs & unary sub in semfold ( #8724 )
2018-08-22 15:59:33 +02:00
LemonBoy
a87341775a
Don't consider tyAnd/tyNot/tyOr/tyAnything as generic ( #8700 )
...
* 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.
2018-08-22 09:40:31 +02:00
andri lim
4d5cce9882
fixes #6255 , add system.ashr arithmetic right shift ( #8547 )
2018-08-07 18:41:30 +02:00
cooldome
404f0d64af
Add sizeof for arrays of integral types ( #8445 )
2018-07-30 11:00:06 +02:00
LemonBoy
bfa3d62cc1
More concept fixes
...
Fixes #7705 , #7703 , #7702
2018-06-24 15:13:34 +02:00
LemonBoy
fb62dd1fae
Fix constant folding for shl/not
...
Since the source and destination types are the same the result should be
trimmed to fit.
2018-06-19 22:32:15 +02:00
Andreas Rumpf
669a564492
remove more global variables in the Nim compiler
2018-05-27 11:10:56 +02:00
Andreas Rumpf
a4e2b0c153
platform.nim doesn't use globals anymore; prepare msgs.nim for not using globals
2018-05-18 15:18:00 +02:00
Andreas Rumpf
328e7a1005
options.nim: no global variables anymore
2018-05-13 17:52:21 +02:00
Andreas Rumpf
a6e53ec47b
semfold compiles again
2018-05-10 14:38:12 +02:00
Andreas Rumpf
5bf31fcabe
big refactoring: mores stuff compiles
2018-05-10 13:39:23 +02:00
Oscar Nihlgård
cc0ca43743
Don't hide overflow/underflow/divbyzero in semfold ( #7732 )
...
* firstOrd/lastOrd bugfix
* Don't hide overflow/underflow/divbyzero in semfold
2018-05-02 08:54:09 +02:00
tersec
262aafa0a9
https://reproducible-builds.org/ support via SOURCE_DATE_EPOCH ( #7644 ) ( #7661 )
2018-04-20 07:04:50 +02:00
Andreas Rumpf
47335aab41
introduce nkTupleConstr AST node for unary tuple construction; breaking change
2018-04-13 17:45:58 +02:00
Araq
2c1f1f21bf
fixes #3985
2018-02-10 21:20:48 +01:00
GULPF
94038545be
Fixes codegen bug with literal negative zero, fixes #7079 ( #7158 )
...
* Fixes #7079
* Fix handling of neg zero during constant folding
2018-01-31 16:29:42 +01:00
Andreas Rumpf
68dfd1729e
fixes #6989
2018-01-27 07:59:40 +01:00
Andreas Rumpf
e4081a7201
preparations for language extensions: 'sink' and 'lent' types
2018-01-07 23:09:26 +01:00
Araq
ee67a67ac4
first steps in adding template/macro calls to stack traces
2017-12-21 10:03:33 +01:00
Andreas Rumpf
e61d8166cc
fixes the second example of #6757
2017-11-17 16:23:54 +01:00
Andreas Rumpf
e9243a1616
Merge branch 'devel' into araq
2017-10-02 08:31:38 +02:00
Andreas Rumpf
1a61c4d46d
first implementation of the 'func' keyword
2017-09-23 23:22:53 +02:00
Andreas Rumpf
5298a72f34
NimScript: added buildOS and buildCPU constants
2017-09-22 13:29:45 +02:00
Andreas Rumpf
bc738d63a7
no interval arithmetic anymore to construct implicit range types; breaking change
2017-07-13 05:13:12 +02:00
Zahary Karadjov
24966e006a
fix #1082
2017-06-20 11:29:42 +02:00
Zahary Karadjov
cd02561368
introduce a pre-processing pass for the concept bodies
...
fixes #4982
fixes #3805
close #3414
2017-06-20 11:29:42 +02:00
Arne Döring
92c2a51bf7
removed compiler internal list implementation ( #5371 )
2017-02-22 17:33:12 +01:00
Araq
61181702d5
fixes #5399
2017-02-16 11:35:15 +01:00
Araq
aebe9d7d13
make more tests green
2017-02-16 01:43:12 +01:00
Araq
68617adb91
fixes #5216
2017-01-27 09:49:45 +01:00
Andreas Rumpf
249a352c6b
fixes #3434
2017-01-19 07:11:17 +01:00
Araq
237252f90c
Merge branch 'devel' into sighashes
2016-12-19 11:35:45 +01:00
Araq
a88a965c6d
fixes nimsuggest issue #40
2016-12-18 00:06:46 +01:00
Araq
e6c5622aa7
removed tyArrayConstr completely from the compiler; introduced tyAlias instead in preparation for further bugfixes
2016-11-14 23:18:30 +01:00
Andreas Rumpf
c2df609cd6
fixes a compiler crash; refs #4699
2016-09-03 11:12:19 +02:00