Ico Doornekamp
efa4b9adaa
Fixes #10263 ; [backport]
2019-01-23 11:13:44 +01:00
LemonBoy
9c0e5c4c07
Harmonize the var/let and const handling ( #10410 )
...
Fixes #10333
2019-01-23 11:10:51 +01:00
Ico Doornekamp
7fcf51248b
Added --docInternal option to allow 'nim doc' to include non-exported symbols
2019-01-23 11:09:26 +01:00
Andreas Rumpf
2655f242a8
use the lastRead analysis; it's correct by construction, not a mess of special cases and seems to be just as fast as the old algorithm
2019-01-23 11:08:51 +01:00
Andreas Rumpf
112f7e650a
destroyer.nim: code cleanup
2019-01-23 11:08:51 +01:00
Andreas Rumpf
1b0372c6e9
make tests green again
2019-01-23 11:08:51 +01:00
Andreas Rumpf
11022fea1b
control flow graphs: introduce 'join' points for easy analyses based on abstract interpretation
2019-01-23 11:08:51 +01:00
alaviss
e962be8981
compiler/sem*: improve lineinfo for qualified and generic procs ( #10427 )
...
Previously the compiler will believe these are where `newSeq` symbol
starts:
newSeq[int]()
^
system.newSeq[int]()
^
This commit moves them back to:
newSeq[int]()
^
system.newSeq[int]()
^
2019-01-23 09:24:21 +01:00
LemonBoy
eee9729f53
Fix semantic analysis with noReturn proc in tail pos ( #10422 )
...
Fixes #10417
2019-01-23 07:30:49 +01:00
Ray Imber
94f6a6b294
Fix for issue #10342 . better message for generic subclass instantiation ( #10354 )
...
* Fix for issue #10342 . better message for generic subclass instantiation errors.
2019-01-22 17:05:26 -08:00
LemonBoy
53eda40d40
Restore compatibility with old vcc versions [backport] ( #10415 )
...
Local variables are declared before anything else.
Fixes #10352
2019-01-22 22:38:52 +01:00
LemonBoy
6825430831
Restrict ptr/ref to ptr/ref implicit conversion ( #10411 )
...
* Restrict ptr/ref to ptr/ref implicit conversion
Fixes #10409
* Make the ptr conversions explicit in db_odbc
2019-01-22 11:17:20 +01:00
Neelesh Chandola
226c15499f
Fix compileTime pragma applying to whole var/let section ( #10389 )
2019-01-22 07:55:11 +01:00
LemonBoy
44c04b3571
Object downconversion in VM should not copy ( #10378 )
...
Hopefully the type-check phase already rejected all the invalid
conversions by the time we execute the VM bytecode.
Problem reported by chrisheller on the Nim Forum
2019-01-22 07:36:40 +01:00
LemonBoy
3ea099bc7f
Finalizer proc must be global ( #10388 )
...
Fixes #10376
2019-01-22 07:35:52 +01:00
genotrance
4b1e227531
Fix gorge caching ( #10407 )
2019-01-22 06:24:45 +01:00
LemonBoy
ee89ba6bdb
Fix subtype conversion w/ varargs arguments ( #10402 )
...
The type matching is done on the `T` of the `varargs[T]` so the
conversion must be performed to `T` and not to the whole type.
This problem is only noticeable with the cpp backend since C doesn't
give a damn shit about your fucking (wrong) types.
Fixes #9845
2019-01-21 19:12:17 +01:00
LemonBoy
ae5d8fbd9d
Proper check for tyStatic[T] -> U conversions ( #10382 )
...
Drop the outer tyStatic shell then perform the check.
Fixes #7609
2019-01-21 17:27:36 +01:00
Oscar Nihlgård
a4cdd25b19
Support system.reset in vm ( #10400 )
2019-01-21 17:00:33 +01:00
alaviss
413755fd45
Correct lineinfo for accent quoted symbols in proc definition ( #10399 )
...
* compiler/parser: preserve lineinfo for accent quoted symbols
Previously the lineinfo for symbol $$$ in this example is:
proc `$$$`
^
After this commit:
proc `$$$`
^
* compiler/semstmts: correct lineinfo for accent quoted idents
Previously nimsuggest would highlight this as:
proc `$$$`
^~~
After this commit:
proc `$$$`
^~~
* nimsuggest/tests: add a test for accent quoted proc
Disabled by default
2019-01-21 16:57:48 +01:00
Oscar Nihlgård
9a003bae06
Fix error lexer error messages for to large numbers ( #10394 )
2019-01-21 15:14:38 +01:00
Federico Ceratto
095eaacf21
Fix spelling errors ( #10379 )
2019-01-19 16:01:27 +01:00
Timothee Cour
27e2ed4375
fix #9629 every binary cmd line option allows on/off/empty=on ( #10353 )
...
* fix #9629 every binary cmd line option allows on/off/empty=on
* workaround refs #10359
2019-01-18 09:03:26 +01:00
cooldome
1e63f1edb3
destructors: first step towards fixing #9617 ( #10341 )
2019-01-18 08:51:22 +01:00
LemonBoy
15584879b9
Properly wrap discarded statements ( #10322 )
...
Failing to do so lead the codegen to emit invalid code sometimes,
especially when C++ references were involved.
Fixes #10241
2019-01-17 07:55:29 +01:00
nepeckman
7920dc2898
Added support for --genDeps on JS backend ( #10320 )
2019-01-15 22:58:44 +01:00
Timothee Cour
beed27b75d
improve vmgen.codeListing formatting ( #10306 )
...
* improve vmgen.codeListing formatting
* address comments
2019-01-15 19:02:01 +01:00
Timothee Cour
4355f23ee5
fix #10305 nim cpp is now nan-correct at CT ( #10310 )
...
* fix #10305 nim cpp is now nan-correct at CT
* add example where simply `nim cpp -d:release` would exhibit nan bug
2019-01-15 14:50:28 +01:00
Andreas Rumpf
05c52ff34f
fixes #10203 ( #10290 )
...
* fixes #10203
* make typredef test green again
* fixes the regressions differently
2019-01-15 10:15:27 +01:00
Neelesh Chandola
8922063bd8
typed/untyped return type is invalid for everything except templates and macros ( #10275 )
2019-01-15 08:08:12 +01:00
Timothee Cour
0a8762eb7b
fix #9842 #9951 : nim -r and parseopt.cmdLineRest are now correct
2019-01-14 17:00:54 -08:00
Timothee Cour
e17321aa24
improve formatting in assertEquals
2019-01-14 17:00:54 -08:00
Araq
d69a7842fa
fixes #7878
2019-01-14 12:36:34 +01:00
Araq
825e08b046
fixes #7524
2019-01-14 12:15:40 +01:00
genotrance
c707267212
Add stdin read support to nimscrit #3983 ( #10292 )
2019-01-14 09:26:10 +01:00
Araq
aa7ad88978
fixes #10075 [backport]
2019-01-13 15:52:50 +01:00
Araq
ab99bdfc40
fixes #10136
2019-01-13 14:56:50 +01:00
Araq
0c10fc67eb
fixes #10104
2019-01-13 14:09:13 +01:00
Araq
40115cd645
improve error messages quality for '.push: raises []'
2019-01-13 13:30:01 +01:00
rec
f5cc2e2de5
Fixes 10202 ( #10283 )
...
* Add a test case for #10202
* Fix asgn for object tyVars; fixes #10202
* Check the variant kind before accessing the sym field
2019-01-12 19:49:31 +01:00
Araq
5ef5dc86c5
docgen: support markdown link syntax; enable markdown extensions
2019-01-11 22:17:43 +01:00
Neelesh Chandola
b0979c8b1c
Cleanup comesFromPush logic ( #10278 )
2019-01-11 19:16:03 +01:00
Andreas Rumpf
5397c5d31d
fixes #10216 ( #10270 )
2019-01-11 16:34:22 +01:00
Andreas Rumpf
d1b7aa28e7
fixes #10240 ( #10269 )
...
* kochdocs.nim: code cleanup
* fixes #10420
2019-01-11 15:55:16 +01:00
Neelesh Chandola
d998cb58dd
void object fields are now ignored by codegen and fields/fieldPairs iterator ( #10144 )
...
* Codegen now ignores object fields of type void
* Fix `$` bug for objects/tuples where it does not add a comma
* fields/fieldPairs iterators now ignore void types
* Use `isEmptyType` instead of checking for `tyVoid` directly
2019-01-10 12:49:35 +01:00
Arne Döring
f55c8d4d54
fixes #10251 ( #10255 )
2019-01-10 09:27:01 +01:00
cooldome
44b4e289d6
destructors: lift type bound operations for case and distinct objects ( #10238 )
2019-01-10 09:25:35 +01:00
Timothee Cour
23c1ee982e
add alignTable, parseTableCells to align/format a tab(etc) delimited table ( #10182 )
...
* add compiler/unittest_light.nim for easy diffing: assertEquals and mismatch
* fixup
* add alignTable, parseTableCells
2019-01-09 09:46:44 +01:00
Timothee Cour
fc7fcca9df
fix leftover comment from #9766
2019-01-08 17:07:46 -08:00
Timothee Cour
bf3a308e86
[error messages, stacktraces] fix #8794 #9270 #9767 #9768 ( #9766 )
...
* fixes #8794 : `Error: undeclared field: 'foo'` should show type (+ where type is defined) (hard to guess in generic code)
* fixes #9270 : `--listFullPaths` not honored by `declared in foo.nim` messages
* fixes #9767 : VM stacktrace doesn't honor --excessiveStackTrace:on
* fixes #9768 : VM stacktrace misses column info, can lead to ambiguous or harder to read stacktraces
* refactors some col+1 code to col + ColOffset (self documents code)
* make getProcHeader show declared info location also for types and all routine kinds (including macros,templates) instead of just (rather arbitrarily) for iterator,proc,func,method
* --listFullPaths now is honored in more places
* fix typo system/except.nim => lib/system/excpt.nim
* remove substr(foo, 0) hack in compiler/vm.nim which seems old and not applicable anymore
2019-01-08 15:58:47 -08:00