Commit Graph

12899 Commits

Author SHA1 Message Date
LemonBoy
52fc16d5d2 Return an error symbol as macro output if needed (#8116)
Return an error symbol if the macro output has no type and a typedesc
is expected.

Fixes #7454
2018-06-27 21:43:07 +02:00
LemonBoy
7f148838a4 Reject ptr/ref void types (#8127)
Do this during the semantic pass to avoid tripping the following passes.

Fixes #6454
2018-06-27 21:41:40 +02:00
Kaushal Modi
5ac74da926 Clarify use of special : for passing a block of stmts to template (#8133)
Fixes https://github.com/nim-lang/Nim/issues/8131.
2018-06-27 21:37:31 +02:00
LemonBoy
722abbe9c9 Reject enums with holes when computedGoto is used (#8132)
Fixes #7699
2018-06-27 21:36:52 +02:00
LemonBoy
bb23d903b6 Don't consider concept types as non-complex during codegen (#8119)
Fixes #7125
2018-06-27 17:21:53 +02:00
Hiroki Noda
a85493610c Lexer: do not accept some invalid integer literals (#8089)
* Lexer: do not accept some invalid integer literals

* Use Natural instead of uint, and result variable
2018-06-27 17:07:26 +02:00
Joey
559a7615ad Nintendo switch support (#8069)
* Add config section for Nintendo Switch
* Add compiler configuration for Nintendo Switch and it's CPU
* Add specific lib code for Nintendo Switch
* Add GC support for Nintendo Switch
* Update changelog for Nintendo Switch
* Update changelog with more info about fixed paths
* Cleaned up GC memory management a bit
* Relocate docs for Switch
* Rename aarch64NoneElfGcc to nintendoSwitchGCC
* Remove armv8a57
* Fix installer.ini
* Reuse code in linux and amd64
* Add posix defs for nintendo switch
* Add more defined sections for nintendo switch
* Remove old comment
* Add what's not supported for Nintendo Switch docs
* Make nintendoswitch == posix
* Remove DEVKITPRO references from nim.cfg
* Make PR extccomp changes
* Remove Result type alias
* Add separate switch consts file
* Update docs for nintendo switch
* Fix travis errors with undefined consts and add correct wait.h procs
2018-06-27 12:35:09 +02:00
Daniil Yarancev
b74b16ffde Add missing backtick to the changelog.md 2018-06-27 12:54:28 +03:00
Araq
19ea3a70d2 compiler/types.nim: make low/high know about 'sink' parameters; cleans up #7736 2018-06-27 00:21:31 +02:00
Andreas Rumpf
d8f7174dda Merge pull request #7736 from cooldome/range_float_type
Language feature: range float types
2018-06-27 00:08:21 +02:00
Andreas Rumpf
edc3806aa2 Merge pull request #8120 from krux02/basic-debugging
make basic debugging possible
2018-06-26 23:58:07 +02:00
Andreas Rumpf
7cec5d1cfb Merge pull request #7681 from nim-lang/typedesc-reforms
Typedesc reforms
2018-06-26 23:53:30 +02:00
Andreas Rumpf
ccb1514837 Merge pull request #8108 from LemonBoy/fix-5958
Make `static` blocks introduce their own scope
2018-06-26 23:16:40 +02:00
Andreas Rumpf
bf5de98c6a Merge pull request #7800 from GULPF/vm-nil-fix
VM fix for nil assignment
2018-06-26 23:15:26 +02:00
Oscar Nihlgård
236bc06b5f Improve vm support for ref types 2018-06-26 21:25:27 +02:00
Andreas Rumpf
2a3a128e36 Merge branch 'devel' into typedesc-reforms 2018-06-26 18:33:51 +02:00
Andreas Rumpf
d08b9eb673 Merge pull request #8123 from jwollen/cfile_extensions
Don't remove extension of source files twice, if filenames contain dots
2018-06-26 18:31:35 +02:00
Arne Döring
0eb9da5f04 readded -d:debug flag 2018-06-26 13:34:22 +02:00
Jörg Wollenschläger
7e89f9a09a Don't remove extension of source files twice, if filenames contain dots 2018-06-26 20:08:40 +09:00
Araq
5976bd96be nimpretty: detect '; vs ,' style based on the first usage of the token in parameter lists 2018-06-26 01:43:41 +02:00
Arne Döring
ba3c6d022b make basic debugging possible 2018-06-26 01:42:36 +02:00
Araq
c68d52b69d Merge branch 'devel' of github.com:nim-lang/Nim into devel 2018-06-26 01:35:12 +02:00
Araq
aef441101f fixes docgen regression caused by refactorings; fixes #8097 2018-06-26 01:34:59 +02:00
Dominik Picheta
27b081d1f7 Merge pull request #8117 from LemonBoy/cmd-verbosity-level
Warn the user if the specified verbosity level is wrong
2018-06-25 17:08:12 +01:00
LemonBoy
f559e62e45 Adjust some tests to make them pass
The non-scoped behaviour of static blocks was exploited by those tests,
replace all the variables declared whithin one with compileTime marked
ones.
2018-06-25 15:56:13 +02:00
LemonBoy
589d6bc8d8 Warn the user if the specified verbosity level is wrong 2018-06-25 15:46:38 +02:00
Andreas Rumpf
193def6dcb Merge pull request #8105 from LemonBoy/concept-high-low-index
More concept fixes
2018-06-25 15:08:22 +02:00
Andreas Rumpf
7d437a3a74 Merge pull request #7964 from LemonBoy/fix-7936
Fixes #7936
2018-06-25 15:06:07 +02:00
Andreas Rumpf
890086baec Merge pull request #8072 from LemonBoy/fix-6899-6280
Fix minor codegen issue with static data types
2018-06-24 21:31:19 +02:00
LemonBoy
9543689306 Make static blocks introduce their own scope
Treat the static block as a normal block, don't leak any identifier in
the outer scope.

Fixes #5958
2018-06-24 18:27:40 +02:00
LemonBoy
bfa3d62cc1 More concept fixes
Fixes #7705, #7703, #7702
2018-06-24 15:13:34 +02:00
Andreas Rumpf
105a472dc5 Merge pull request #8084 from LemonBoy/fix-7905
Discriminate gensym'd type names in sigHash
2018-06-24 09:54:00 +02:00
Kaushal Modi
4c2e712056 Support setting foreground/background colors to terminal defaults (#8073)
* Support setting foreground/background colors to terminal defaults

Adds fgDefault to ForegroundColor and bgDefault to BackgroundColor
enums.

For Windows console, the default foreground color is assumed to be
white, and the default background color black.

* Add default fg/bg color caching for Windows Console
2018-06-24 03:53:20 -04:00
Andreas Rumpf
fbac233dae Merge pull request #8092 from FedericoCeratto/patch-10
Minor doc fix
2018-06-24 09:52:45 +02:00
Federico Ceratto
059ddeee10 Minor doc fix 2018-06-23 14:32:24 +01:00
Oscar Nihlgård
371f87e962 Change inconsistent paramaters in times.nim (#8091) 2018-06-23 09:01:55 -04:00
LemonBoy
7f0d7871ed Use the resolved typedesc in semVarOrLet
By leaving the unsemanticized node in the AST we'd trip some passes like
the Transf one as seen in #7936.
2018-06-23 13:40:11 +02:00
LemonBoy
e39baf46fc Don't blow up with recursive objects 2018-06-22 19:47:44 +02:00
LemonBoy
af66258dca Discriminate gensym'd type names in sigHash
The root cause of #7905 lies in the codegen phase. The two template
instantiations generate two different MyType types with different
members but same t.sym.name leading the caching mechanism to confuse
the two.

Fixes #7905
2018-06-22 13:09:33 +02:00
Andreas Rumpf
0c683d28bb Merge branch 'devel' of github.com:nim-lang/Nim into devel 2018-06-22 03:19:36 +02:00
Andreas Rumpf
cc11aa9698 varints module: critical bugfix 2018-06-22 03:19:30 +02:00
Andreas Rumpf
6015749720 Merge pull request #8062 from LemonBoy/fix-7825
Fix constant folding for shl/not
2018-06-21 00:35:17 +02:00
Araq
1be82d96a6 nimpretty: bugfixes; refs #8078 2018-06-20 11:35:36 +02:00
Araq
9adfaa7f07 fixes #8076 2018-06-20 10:20:42 +02:00
Andreas Rumpf
2dab490ec1 Merge branch 'araq-nimpretty' into devel 2018-06-20 01:03:41 +02:00
Andreas Rumpf
2a662250d4 nimpretty: added more code claimed to not be working 2018-06-20 00:59:01 +02:00
Andreas Rumpf
0725003a8c nimpretty: fixes more reported issues 2018-06-20 00:56:29 +02:00
Andreas Rumpf
26568dff00 nimpretty: also test on Windows/Appveyor 2018-06-19 23:48:27 +02:00
Andreas Rumpf
c3090fcb48 nimpretty: don't produce trailing whitespace; fixes the rendering of unary operators 2018-06-19 23:45:11 +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