Zahary Karadjov
07d50cedf0
Fix #5983
2017-06-20 11:29:42 +02:00
Zahary Karadjov
21ce7b2af4
Fix #5888
2017-06-20 11:29:42 +02:00
Zahary Karadjov
a6006e56a7
Fix #4737
2017-06-20 11:29:42 +02:00
Zahary Karadjov
16eb4b1fee
Fix #5127
2017-06-20 11:29:42 +02:00
Zahary Karadjov
8f4b374327
Fix #4020 ; Better handling of templates within concepts
2017-06-20 11:29:42 +02:00
Zahary Karadjov
b199c5af4e
fix #5968
2017-06-20 11:29:42 +02:00
Zahary Karadjov
24966e006a
fix #1082
2017-06-20 11:29:42 +02:00
Zahary Karadjov
367d232351
fix #1017 ; fix #3309
2017-06-20 11:29:42 +02:00
Zahary Karadjov
ba61e7e3ac
fix #2730 ; fix #4880
2017-06-20 11:29:42 +02:00
Zahary Karadjov
9c6fe59b55
fix #5017 ; fix #5893
2017-06-20 11:29:42 +02:00
Zahary Karadjov
f713e730c8
fix #5864
2017-06-20 11:29:42 +02:00
Zahary Karadjov
dea6d8dd94
add a useful helper for debugging typeRel problems
2017-06-20 11:29:42 +02:00
Zahary Karadjov
f0999de9dc
Fix #5962
...
During the instantiation of a generic type A, some other generic
type B may be instantiated multiple times with different parameters.
We can think about each instantiation as a function call that should
temporary bind the parameter names to concrete types. The problem
with the existing implementation in semtypinst was that it was
performing this binding within a shared global table. In this sense,
it was executing the code as a programming language featuring only
global variables. In such a language, re-entrant functions cannot be
defined properly and hence this was leading to problems with similar
types. The solution is simple - just like we need to introduce stack
frames to handle re-entrant functions, we introduce a stack of type
bindings that are pushed and popped during the generic instantiations.
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
Zahary Karadjov
30ccadfe4c
fix #5890
2017-06-20 11:29:42 +02:00
Yuriy Glukhov
58eae1171d
Fixes #5995
2017-06-18 00:57:05 +03:00
Markus F.X.J. Oberhumer
a0f39e0ab4
Ascii character code 127 (DEL) is not printable and must be quoted. ( #5984 )
...
This is a follow-up to #5823 .
2017-06-15 20:42:23 +02:00
Andreas Rumpf
f540a3683f
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2017-06-13 13:51:41 +02:00
Andreas Rumpf
91a3cb67ec
fixes #5824
2017-06-13 13:51:33 +02:00
Markus F.X.J. Oberhumer
963679389c
cgen: #undef some more predefined symbols. ( #5831 )
...
This is a followup to issue #5171 .
2017-06-13 10:12:23 +02:00
Araq
0f3e1f17e9
fixes #5959
2017-06-09 14:14:47 +02:00
Araq
4033929127
fixes tproctypecache_falsepositive.nim test case
2017-06-08 18:35:37 +02:00
Parashurama
bbf9ef606d
restrict casting for closure. ( #5948 ); fixes #5742
...
* restrict casting for closure.
This commit forbid casting a closure to anything other than another
closure. use rawEnv/rawProc to access underlaying pointers.
* better error message for closure cast
* fixes #5742
2017-06-07 08:52:50 +02:00
Parashurama
f603e1b268
fix logical right shift in VM. ( #5916 )
2017-06-05 17:25:04 +02:00
Andreas Rumpf
55c244400d
.partial object field names are left unmangled; mangling should be done by the macro instead
2017-06-05 10:30:24 +02:00
Andreas Rumpf
c59bc0cc18
first steps to allow easy functors via macros
2017-06-04 11:17:41 +02:00
Andreas Rumpf
42c9bb3ace
fixes #5933
2017-06-03 21:08:32 +02:00
Andreas Rumpf
d1f5e3b110
fixes #4139
2017-06-03 14:30:16 +02:00
zah
39aef12446
review and merge zahary's work ( #5849 )
...
* proper indentation for the generated JS code
* improved dead-code elimination for JavaScript
* test the JS dead-code elimination
A new test spec has been added - "maxcodesize". It specifies the
maximum size of the generated code in bytes.
2017-06-03 12:45:10 +02:00
Arne Döring
eb8e267ff6
improved comment satement support in macros ( #5904 )
2017-06-02 01:22:21 +02:00
Parashurama
da52ade86e
fix right shift c codegen bug. ( #5919 )
...
* fix right shift c codegen bug.
signed int must first be cast as unsigned before converting to larger
integer. The C compiler will auto convert operands to the largest type.
2017-05-31 21:05:14 +02:00
Araq
7b3785554f
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2017-05-31 14:35:53 +02:00
Araq
68d606d773
improve confusing error messages for failed overloading resolution when deref of first arg failed
2017-05-31 14:34:46 +02:00
Fredrik Høisæther Rasch
6652ae9741
Creating and setting comment nodes in macros ( #5850 )
...
* strVal assingnable comment statement ast nodes
* Set comment instead of strVal for comment nodes
* Added test code for creating and setting comment nodes
* Modified the AST spec documentation for documentation comments
2017-05-31 13:08:08 +02:00
Jacek Sieka
ba4cc4bf35
a few tiny cleanups ( #5712 )
...
exposes emitLazily (for nlvm) and simplifies some conditionals
2017-05-29 09:42:26 +02:00
Varriount
fd0ab1df3e
Merge pull request #5823 from markus-oberhumer/ascii127-is-not-printable
...
Ascii character code 127 (DEL) is not printable.
2017-05-26 02:29:00 -04:00
Araq
d3f0f87e81
niminst: add missing nimsuggest tool; small koch.nim cleanup
2017-05-17 23:59:53 +02:00
Araq
8f67b90997
Merge branch 'araq2' into devel
2017-05-17 22:13:57 +02:00
Andreas Rumpf
7a95c961a7
cleanup of in/out covariance handling
2017-05-17 20:54:53 +02:00
Dominik Picheta
06415eb69d
Fixes #5821 (float32 literal comparison issue) ( #5825 )
...
* Remove processing hints for async procs.
* Fixes #5821 .
2017-05-17 15:57:06 +02:00
Andreas Rumpf
61a0eba14f
Merge branch 'zahary' into araq2
2017-05-17 15:27:04 +02:00
Araq
943aaecbe7
Merge branch 'devel' of github.com:nim-lang/Nim into devel
2017-05-16 22:09:37 +02:00
Yuriy Glukhov
6599cae281
Async macro fixes ( #5739 )
2017-05-16 22:09:19 +02:00
Araq
ac3e7edfe4
weaken the rules for proc definition pragmas that have been forwarded
2017-05-16 22:07:44 +02:00
Markus F.X.J. Oberhumer
8d3f477fad
Create correct C protoypes in genMainProc. ( #5822 )
...
This avoids a -Wstrict-prototypes warning in the generated C file.
2017-05-16 21:04:12 +02:00
Markus F.X.J. Oberhumer
87888e8129
Ascii character code 127 (DEL) is not printable.
2017-05-16 18:09:24 +02:00
Andreas Rumpf
503f780676
Merge branch 'zahary' into araq2
2017-05-16 17:32:18 +02:00
jcosborn
ec50dab57d
fixed macros.getTypeImpl for a symbol of type tyGenericBody ( #5788 ) ( #5812 )
...
* fixed macros.getTypeImpl for a symbol of type tyGenericBody
* added test case and commented test code
2017-05-14 15:08:41 +02:00
Zahary Karadjov
672c24e4b8
fix affecting templates with explicit generic params
2017-05-13 20:48:44 +03:00
Zahary Karadjov
05bfa47996
fix tinvalidinout
2017-05-13 18:51:28 +03:00