Commit Graph

2460 Commits

Author SHA1 Message Date
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
36c4f0a89c close #1051 2017-06-20 11:29:42 +02:00
Zahary Karadjov
b101a59734 close #3152; closed via f663ca7 2017-06-20 11:29:42 +02:00
Zahary Karadjov
6f935598f4 close #3153 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
0149e418be close #3784 2017-06-20 11:29:42 +02:00
Zahary Karadjov
92ee2ee4ce close #4524 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
491162d3c8 close #5106 2017-06-20 11:29:42 +02:00
Zahary Karadjov
9edf66df85 close #5756 2017-06-20 11:29:42 +02:00
Zahary Karadjov
f713e730c8 fix #5864 2017-06-20 11:29:42 +02:00
Zahary Karadjov
268b918150 Fix thardforward 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
Yuriy Glukhov
58eae1171d Fixes #5995 2017-06-18 00:57:05 +03:00
Varriount
a939a4b3a4 Merge pull request #5952 from Parashurama/fix_parseopt
Fix parseopt custom arguments
2017-06-13 04:11:58 -04:00
Araq
280941aca6 make tests green again 2017-06-09 13:34:45 +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
27e2a34340 fixes parseopt/parseopt2 custom cmdline args. 2017-06-06 13:50:26 +02:00
Parashurama
f603e1b268 fix logical right shift in VM. (#5916) 2017-06-05 17:25:04 +02:00
Parashurama
cd51628f57 fix orderedtable enlarge proc. (#5937)
This fixes issue #5917
2017-06-05 13:16:30 +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
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
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
Arne Döring
32143d3c7a more and improved newLit procs in macros module 2017-05-23 19:37:51 +02:00
Araq
8f67b90997 Merge branch 'araq2' into devel 2017-05-17 22:13:57 +02:00
Araq
c8cec27c0a file mode change 2017-05-17 22:13:47 +02:00
Dominik Picheta
d1daccac2f Fixes #5761. 2017-05-17 16:11:26 +01: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
Yuriy Glukhov
6599cae281 Async macro fixes (#5739) 2017-05-16 22:09:19 +02:00
Andreas Rumpf
503f780676 Merge branch 'zahary' into araq2 2017-05-16 17:32:18 +02:00
Dominik Picheta
8dd5e94f5a Merge pull request #5019 from FedericoCeratto/json_tests
Add JSON tests based on https://github.com/nst/JSONTestSuite
2017-05-16 14:37:42 +01:00
Federico Ceratto
fcd86883ed Add waitFor on seq[Future], waitAll and more (#5189)
* Switch to unittest and speedup

* Make timers and callbacks fields public
2017-05-16 14:36:21 +01:00
Jacek Sieka
6bbf0fb64d compiler option for testament (#5713)
* compiler option for testament

* different spacing
2017-05-15 16:34:30 +02:00
Andreas Rumpf
3afd852f54 Fixes #5532 win async write (#5791)
* nimgrab tool bugfix: don't divide by zero
* fixes #5532 (asyncfile write on Windows)
* add a comment about what has been tried instead
2017-05-14 17:10:39 +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
Zahary Karadjov
cdb011afdc attempt to fix a compilation problem caused by nimcache 2017-05-13 15:46:47 +03:00
Zahary Karadjov
b428da2cc2 work-around for defining imported types with weak covariance 2017-05-13 15:46:08 +03:00
Zahary Karadjov
f4e73344d4 covariance for arrays and sequences 2017-05-12 18:42:46 +03:00
Zahary Karadjov
597ea08815 covariance for generic importc types 2017-05-12 11:46:25 +03:00