Commit Graph

3140 Commits

Author SHA1 Message Date
Andreas Rumpf
5fa4fa185b Merge pull request #8875 from awr1/experimentalize-reorder
Experimentalize reorder (Changes {.reorder: on.} to {.experimental: "codeReordering".})
2018-09-15 00:36:57 +02:00
Andreas Rumpf
0c04b80651 Merge pull request #8966 from LemonBoy/fix-8964
Fix hashing for codegenProc (sic) types
2018-09-14 22:28:12 +02:00
Araq
9995f50050 Merge branch 'devel' of github.com:nim-lang/Nim into devel 2018-09-14 22:17:27 +02:00
Araq
fba9c2aef6 make tests green again 2018-09-14 20:10:46 +02:00
genotrance
7af659cf59 Test case for #6163 (#8960)
* Test case for #6163
2018-09-14 17:09:16 +02:00
Araq
5709736e82 Merge branch 'devel' into araq-better-docgen 2018-09-14 15:48:07 +02:00
Araq
5ee904643a fixes #8883 2018-09-14 15:47:37 +02:00
LemonBoy
839953c3e1 Fix hashing for codegenProc (sic) types
Since the name mangling is inhibited we should take the user-supplied
name during the sighash computation.

Fixes #8964
2018-09-14 15:37:51 +02:00
Araq
4ab9953787 fixes #8961 2018-09-14 11:40:43 +02:00
Araq
d2208091fa disable Nimble dependencies for appveyor 2018-09-14 09:45:03 +02:00
Ganesh Viswanathan
f4356d6115 Fix system.nim line number test case failure 2018-09-12 12:58:50 -05:00
Ganesh Viswanathan
9b2115558b Test cases for #6969 #7346 #7581 2018-09-12 12:00:01 -05:00
Andreas Rumpf
8f046792cf Merge pull request #8941 from timotheecour/pr_fix_8928
fix #8928 regression
2018-09-12 10:28:57 +02:00
Andreas Rumpf
132eb31e32 Merge pull request #8949 from nim-lang/araq-for-loop-expressions
For loop expressions
2018-09-12 10:27:54 +02:00
LemonBoy
b195204549 Fix add(string, cstring) when the lhs is null (#8951) 2018-09-12 10:10:00 +02:00
LemonBoy
87955eaf30 Fix concat behaviour for uninitialized strings (#8950) 2018-09-11 23:35:21 +02:00
Timothee Cour
72170b443d add testcase 2018-09-11 11:52:51 -07:00
LemonBoy
8670f4911b Fix semantic pass with borrowed magic procs (#8945)
Reported by pqflx3 on the forum.
2018-09-11 20:32:25 +02:00
Andreas Rumpf
de02f5fa0a add tcollect test for the new for-loops as expressions feature 2018-09-11 19:14:31 +02:00
LemonBoy
e7d4043406 Always emit hti object types if needed (#8940)
The compiler is now smart enough to emit types only if needed without
all the importc tricks. This also fixes a codegen bug where, if all the
stars align correctly, typeinfo doesn't include any definition of
`TNimType` but uses it.

Found by @skilchen in #8938
2018-09-11 17:03:21 +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
LemonBoy
3f16711254 Fix insert/delete for JS (#8915)
Fixes #8914
2018-09-08 10:38:18 +02:00
LemonBoy
91b37311d9 Fix AST generation for case statements (#8908)
Fixes #7534
2018-09-07 21:07:06 +02:00
LemonBoy
e69d8ec416 Fix type comparison in semConv (#8907)
Fixes #8905
2018-09-07 21:06:30 +02:00
Yuriy Glukhov
1e6eca973d Fixes #8243 (#8904) 2018-09-07 16:30:50 +02:00
LemonBoy
e81fe6d32f Allow wCodegenDecl on lambdas (#8892) 2018-09-07 01:58:49 +02:00
LemonBoy
84eab97fed Sync line generation between C and JS backends (#8888)
Fixes #7224
2018-09-07 01:56:36 +02:00
LemonBoy
af1e84f54d Automatic deref for everything but pointers in asm/emit (#8891)
Fixes #7249
2018-09-07 01:54:59 +02:00
cooldome
c033ff990a Renderer bug fixes (#8804)
Fixes #8763: render bug: pure enums not handled correctly
Fixes #8762: render bug: binary operators called with quotes rendered incorrectly
FIxes #8761: render bug: inversion of operator priorities
2018-09-07 01:52:42 +02:00
awr
02306020b2 fix test 2018-09-04 18:25:54 -05:00
awr1
eb668003bf Merge branch 'devel' into experimentalize-reorder 2018-09-04 16:33:52 -05:00
awr
89ad1cc9b1 tabling declared() stuff 2018-09-04 16:21:47 -05:00
awr
e6a4213fae transformed {.reorder: on.} into {.experimental: codeReordering.}, added tests 2018-09-04 15:31:38 -05:00
LemonBoy
4aba2981dd Codegen fix for function pointers marked inline (#8866)
Fixes #5345
Fixes #5701
2018-09-04 15:28:14 +02:00
Yuriy Glukhov
d2eea9e1c9 Fixes #8851 (#8859) 2018-09-04 08:18:11 +02:00
LemonBoy
1a60ffcf1d Correctly mangle this in the JS backend (#8853)
As shown in pragmagic/karax#67 using `this` as parameter name made the
codegen output wrong code (and the user didn't notice the errors in the
browser console).
2018-09-03 17:51:30 +02:00
Araq
0694c9080f fixes #8043 2018-09-03 16:07:44 +02:00
cooldome
e63c66b810 Add sym owner to macros (#8253) 2018-09-03 13:25:59 +02:00
Araq
1abef2dc59 improve the error message for 'addQuitProc' etc; fixes #5794 2018-09-03 12:27:23 +02:00
Araq
e0fd1cdb5f fix items for cstring for the JS target; makes tests green again 2018-09-03 11:13:59 +02:00
Araq
7cea0c1765 closes #5252 2018-09-03 10:16:11 +02:00
Araq
9e48999567 closes #4750 2018-09-03 10:02:37 +02:00
Araq
cfbf9dcc59 fixes #8740 2018-09-03 09:06:52 +02:00
Araq
fa338768a3 fixes #8847 2018-09-03 08:37:32 +02:00
Araq
e09eeb02bf fixes #8052 2018-08-31 17:27:57 +02:00
LemonBoy
2c8361bd39 Constant folding for integer casts (#8095) 2018-08-31 13:45:42 +02:00
LemonBoy
b74faf354e Do not materialize empty varargs[untyped] arrays (#8715)
When an empty nkArgList `varargs[untyped]` is passed around it is now
reused for efficiency sake and to prevent the introduction of a spurious
element: before this commit we'd pass the caller a
nkArgList[nkHiddenStdConv[nkBracket]] node instead of just an empty
nkArgList.

Fixes #8706
2018-08-31 12:16:46 +02:00
Araq
bacf08e65d merged #8624 manually; fixes #8442; closes #8575 2018-08-31 11:19:42 +02:00
Araq
2f7b979e38 fixes #8066 2018-08-31 00:30:19 +02:00
Andreas Rumpf
df4d5b77a1 introduce precise string '[]', '[]=' accessors; fixes #8049 (#8817) 2018-08-30 23:01:15 +02:00