Commit Graph

4063 Commits

Author SHA1 Message Date
Arne Döring
abfcbaa74c fewer temporary string allocations for the compiler's renderer (#7484) 2018-04-04 08:46:35 +02:00
Araq
f108e89670 implemented v2 string literals 2018-04-03 23:41:20 +02:00
Andreas Rumpf
d837362216 C codegen: preparations for different seq and string implementations 2018-04-03 10:25:20 +02:00
Andreas Rumpf
cc6fe6e578 fixes codegen for nil cstrings 2018-04-02 17:00:35 +02:00
Andreas Rumpf
542618da70 sink parameters: next steps 2018-04-01 17:59:54 +02:00
Andreas Rumpf
455dd36135 destructors: first version of 'sink' parameter logic 2018-03-31 20:27:08 +02:00
Araq
a9691aeef5 Merge branch 'devel' of github.com:nim-lang/Nim into devel 2018-03-30 02:32:29 +02:00
Araq
9de05ec3e0 further steps in implementing sink parameters; refs #7041 2018-03-30 02:32:13 +02:00
cooldome
bcda71a8a7 fixes #7414 (#7434) 2018-03-29 09:19:03 +02:00
Araq
1d9343080d added toOpenArray builtin for zero-copy slices; syntax sugar yet to come 2018-03-24 20:26:34 +01:00
zah
121b9e26fb Static[T] fixes (#7333)
* fix the usage of unresolved static[T] parameters in proc signatures
* fix tsametype and tmacrogenerics
* Allow creating composite type classes with concepts and using them in type signatures
* Allow integers to be used in ident concatenations
* Support using imported C++ generic types in proc signatures
* fixes #7230
* closes #7379
* re-enable some metatype tests
2018-03-24 15:28:09 +01:00
Andreas Rumpf
2e7a0e1cdd make tests green again 2018-03-24 11:30:29 +01:00
Andreas Rumpf
299e944cf7 fixes the 'var T' checking 2018-03-24 10:10:28 +01:00
Andreas Rumpf
3be4f9111c enforce 'var T' produces a view into the first parameter; refs #7373 2018-03-24 09:41:04 +01:00
Andreas Rumpf
6f747674be more checking for 'var T' as return type; refs #7373 2018-03-24 08:37:09 +01:00
cooldome
e2c2ae8e7e fixes #7392 (#7395) 2018-03-23 13:28:22 +01:00
cooldome
23230572e2 Fixes #7363 (#7371) 2018-03-20 11:14:47 +01:00
Araq
d738ed9c92 better error messages for illegal captures 2018-03-19 19:39:44 +01:00
Araq
8831e654c6 fixes #7364 2018-03-19 17:42:05 +01:00
Araq
3979e83a59 fixes #7331 2018-03-18 17:56:28 +01:00
Araq
863c626078 fixes #7335 2018-03-18 12:13:55 +01:00
Araq
b0994c7f92 better error messages 2018-03-18 12:04:22 +01:00
Araq
4301744e49 raise the max instruction count for the VM to one billion 2018-03-18 11:04:53 +01:00
cooldome
70b28a39fe Codegen: use type forward declarations more aggresively. Fixes #7339 (#7340)
Do not emit object definition it if used only by ref or ptr
2018-03-16 16:21:03 +01:00
Andreas Rumpf
37a3eb5170 make 'memset' calls more robust; refs #7341 2018-03-16 15:55:46 +01:00
Andreas Rumpf
b1ab9d551f Merge branch 'devel' of github.com:nim-lang/Nim into devel 2018-03-16 15:44:46 +01:00
Andreas Rumpf
08282b1355 make 'memset' calls more robust; refs #7341 2018-03-16 15:44:40 +01:00
andri lim
4f9f9ea528 fixes #7332 (#7341) 2018-03-16 15:32:01 +01:00
jcosborn
cc5140d8b6 reuse default ident in opcNNewNimNode (performance regression) (#7330)
* reuse default ident in opcNNewNimNode (performance regression)

* use emptyIdent as default
2018-03-14 16:13:30 +01:00
Andreas Rumpf
12f7b96be0 prevent yet another compiler crash from happening 2018-03-14 11:49:27 +01:00
Andreas Rumpf
55a5dcf8a4 improves the stability of 'nim check' 2018-03-13 08:15:24 +01:00
Robert Hencke
ac10a3813a Fix casing in rule 'typeDesc' (#7324)
Also, leave a note in grammar.txt that it is generated.
2018-03-12 09:27:36 +01:00
PMunch
5003942256 Renamed jsondoc2 to jsondoc, similar to doc2 (#7279)
* Update information about jsondoc/jsondoc2

Manual was missing information about jsondoc2 which made it seem like
it didn't exist at all. This commit adds mention of the jsondoc2
command along with an example.

* Renamed jsondoc2 similar to doc2 and updated docs

doc2 was recently renamed to doc while doc was renamed to doc0. This
commits renames jsondoc to jsondoc2 and jsondoc2 to jsondoc0 to behave
tha same way. The documentation for doc/jsondoc was also lagging behind
this change which has also been fixed. I interpreted this as a soft
deprecation of doc and jsondoc and therefore removed them from the
auto-complete lists.
2018-03-08 15:11:45 +01:00
zah
cbd059aa85 Fix #6415 (#7281)
* hangle static generic params when used in the importcpp pragma

* importcpp works for generic types with fields; fixes #6415

* revert a too agressive safety check that ended up breaking the tests
2018-03-08 15:10:45 +01:00
cooldome
63c28b973e Allow only single infix as in except branches. Fixes #7115 (#7132) 2018-03-08 10:56:32 +01:00
Andreas Rumpf
eeea000582 make the 'canimport' template work 2018-03-06 15:57:46 +01:00
cooldome
4790b6d63f Fixes 7283 (#7284) 2018-03-05 19:06:47 +01:00
cooldome
4164ec4f8b Fixes #6837 (#7271) 2018-03-02 12:14:41 +01:00
Araq
934bba5255 some progress on #7261; VM does not support the new backwards indexing 2018-02-28 10:13:55 +01:00
cooldome
0a8684db4c User pragmas hide effect specs bug fix. Fixes #7216 (#7217) 2018-02-27 03:03:49 +01:00
Andreas Rumpf
d81568fcd5 make concept tests green again 2018-02-27 02:18:18 +01:00
Araq
c3d544221b Merge branch 'devel' of github.com:nim-lang/Nim into devel 2018-02-26 20:48:23 +01:00
Araq
ac6d9a3079 symbol files: baby steps to a working solution 2018-02-26 17:39:19 +01:00
Andreas Rumpf
27e32e0a7d improve the error message for #4659; closes #4659 2018-02-25 17:43:28 +01:00
Andreas Rumpf
b35ee82c48 fixes #6992 2018-02-25 17:28:47 +01:00
Oscar Nihlgård
e4515f304a Improve semchecking for duplicate cases in case statements (#7176)
* Improve semchecking for duplicate cases in case statements

* Revert to previous solution

* Improve test
2018-02-24 14:56:17 +01:00
Andreas Rumpf
3dab0877da fixes #7247 2018-02-23 11:42:19 +01:00
cooldome
45d3e2e510 genTryCpp codegen. Fixes #7232. Fixes #7239 (#7240) 2018-02-22 09:58:56 +01:00
Araq
67380f71d6 symbol files: delay the emission of forwarded procs 2018-02-21 11:42:58 +01:00
Araq
046ed4ed22 symbol files: implemented accurate module dependency tracking 2018-02-21 00:48:23 +01:00