Commit Graph

4837 Commits

Author SHA1 Message Date
Arne Döring
b306e0bfe2 feedback injected 2018-11-08 22:28:29 +01:00
Arne Döring
16353c2ac8 fix #8011 2018-11-08 22:28:29 +01:00
Arne Döring
a147166710 fix #8335 2018-11-08 22:28:29 +01:00
Arne Döring
cba86a9893 fix #9319 2018-11-08 22:28:29 +01:00
Arne Döring
6a57ec6d2e NaN fixes for clang backend (#9652) 2018-11-08 20:17:37 +01:00
Andreas Rumpf
3cf3c2d722 er... 'a not b' is an infix call 2018-11-08 09:39:27 +01:00
Andreas Rumpf
5845716df8 fixes parsing regressions; binary 'not' for 'not nil' must stay 2018-11-08 09:15:15 +01:00
Andreas Rumpf
05683e3aab fixes #9633 2018-11-08 09:15:15 +01:00
Andreas Rumpf
8a357c270b parser change: 'not' is always a unary operator; fixes #9574 2018-11-07 21:17:52 +01:00
Jacek Sieka
b1ad5fd7da Simplify cgen forward proc (#9635)
* cgen: remove module resetting (unused)

* cgen: keep single list of forwarded modules

fewer counters to keep track of

* cgen: fix module lookup
2018-11-07 21:08:10 +01:00
Andreas Rumpf
4e94f49065 parser/grammar sync; fixes #9608 [backport] 2018-11-07 20:07:43 +01:00
Andreas Rumpf
1c73db08b8 nim check fix; fixes #9609 [backport] 2018-11-07 20:07:43 +01:00
Andreas Rumpf
cb4d810659 make Nim take roughly 100MB less RAM for bootstrapping via a new compiler switch -d:leanCompiler; useful for the Raberry PI 2018-11-07 18:36:52 +01:00
jcosborn
fc740c54ec fixes #9600 (#9601) 2018-11-07 08:40:00 +01:00
Andreas Rumpf
73c306258b Nimscript: fixes #9246 [backport] 2018-11-06 21:55:13 +01:00
Andreas Rumpf
24902394f7 VM: don't inject destructor calls, refs #7041 2018-11-06 19:36:39 +01:00
Araq
c735b75f6f compiler cleanup: flag tfOldSchoolExprStmt is gone 2018-11-06 13:55:03 +01:00
Araq
1fa22d4cfe removed the undocumented #? strongSpaces parsing mode 2018-11-06 13:55:03 +01:00
Araq
e71410d74e language cleanup: the .unchecked pragma is dead 2018-11-06 13:55:03 +01:00
skilchen
da178e4090 make mod on floats available in the VM (#9591)
* make `mod` on floats available in the VM
* add testcase
* removed no longer needed imports
2018-11-05 09:36:28 +01:00
Andreas Rumpf
ae27f8ac58 fixes #9611 2018-11-03 19:11:10 +01:00
Andreas Rumpf
c739b9192f produce more helpful error messages when overloading resolution fails 2018-11-03 15:56:13 +01:00
Andreas Rumpf
a2e6a873af fixes #9610 2018-11-03 11:04:30 +01:00
Neelesh Chandola
7a15d2d04b Fixes #9556 (#9604) [backport] 2018-11-02 18:55:53 +01:00
Araq
234bed1b38 destructors; fixes #9594 2018-11-02 11:29:31 +01:00
Alexandros Naskos
eb3c9e1d1c Added "typeof" and "restrict" to special words. (#9226)
* Added "typeof" and "restrict" to special words.
* Added C and C++ reserved keyword as object field identifier test
2018-11-01 17:24:02 +01:00
Neelesh Chandola
dbfc5c5a44 Fixes https://github.com/nim-lang/Nim/issues/6836 (#9595) 2018-11-01 17:23:30 +01:00
PMunch
e9ed4dccb6 Quote do now works with result in block (#7343)
* Fix result not being able to use in quote do

This fixes the annoying issue of not be able to use result inside a
quote do block. It works by a simple trick. The quote do mechanic is
based on dynamically creating a template and immediately calling it with
the arguments found within the quote do block. Since this is called in
the scope of the macro the result variable is shadowed. This trick works
by changing all occurences of result (which shouldn't cause any issues
as result isn't used for anything else for the same reason) to another
name and then passing in an IdentNode with result as a named parameter
with that name.

Note that currently this just replaces it with a fixed named variable
"res" which should be changed to a non-colliding, dynamically created
name.

* Fix hard coded parameter "res" to anonymous symbol

This fixes the hard coded parameter "res" to be an anonymous symbol
instead so it won't collide with other parts of the argument list.

* Add test case for result in quote do block

A simple test case based on GitHub issue #7323 on how you can't put
result in a quote do block. This test verifies that it actually works
correctly now.

* Add test for explicit capturing of result

* Rebased against devel
2018-10-31 22:14:29 +01:00
Arne Döring
0059f16dfb Merge pull request #9511 from krux02/krux02-devel
Krux02 devel
2018-10-31 17:12:36 +01:00
Miran
313bbf5b9b Change documentation details (closes #5525) (#9542) 2018-10-31 07:40:05 +01:00
Araq
48f73aaa1c docgen: fixes #9432 [backport] 2018-10-31 00:19:24 +01:00
Araq
8f28be0dd8 docgen: make tests green again [backport] 2018-10-30 23:30:02 +01:00
Araq
c9e8b899ed docgen: fixes #9235 [backport] 2018-10-30 23:29:47 +01:00
Araq
eb03684c57 docgen: fixes #9169 [backport] 2018-10-30 21:58:59 +01:00
Araq
b3d80dac9c make tmissingbracket compile for C++; refs #7870 2018-10-30 16:52:33 +01:00
Arne Döring
1ec5c6fdf5 Sizeof alignof fixes (#9568)
fixes #9545
2018-10-30 16:41:06 +01:00
Arne Döring
cf3d206b9e undo try break 2018-10-30 16:35:54 +01:00
Araq
432a4d1787 fixes #5549 2018-10-30 15:30:33 +01:00
Araq
e844e536bf Nim style checker: document the switch; fixes #9564 2018-10-30 15:03:28 +01:00
Araq
05964b95e4 change system.nim to adhere to the style guide 2018-10-30 15:03:28 +01:00
Arne Döring
bab9e0020a fixes #5549 2018-10-30 13:50:06 +01:00
Arne Döring
f84bf45f17 set code owner 2018-10-30 13:50:06 +01:00
Arne Döring
07f76c3ef9 fix compiler crash 2018-10-30 13:50:06 +01:00
Araq
331d1a6ca1 fixes regressions 2018-10-30 11:28:45 +01:00
Araq
f6def4286c fixes #8603 2018-10-30 11:28:45 +01:00
jcosborn
69c0a9c6fb getTypeImpl now returns pragmas for object types (#9538) 2018-10-30 06:41:12 +01:00
Neelesh Chandola
e377c55c10 Cleanup installer.ini (#9558) 2018-10-30 06:31:17 +01:00
Dominik Picheta
8d9866a6d4 Maps out keyword to an nnkIdent. Fixes #6011. (#9536) 2018-10-29 16:33:56 +01:00
Araq
9d31dfdf1a fixes tnre regression 2018-10-29 10:06:36 +01:00
cooldome
dfb8730f51 Implements #9434. Minimal Stacktrace for Exceptions in release mode (#9480)
* Fixes #9434
2018-10-28 13:40:42 +01:00