Zoom
278ecad973
Add 'usages' option to the --stylechecks error msg ( #19759 )
2022-05-04 15:24:52 +01:00
nc-x
4680ab61c0
Fix fixAbstractType for user defined typeclasses, fixes #19730 & #18409 ( #19732 )
2022-04-30 15:58:58 +02:00
Ivan Yonchovski
e4a2c2d474
Make sure that field usage preserves the original line info ( #19751 )
...
Currently `struct.field` will generate a node with `info` that points to the
symbol definition instead of having the actual node location.
2022-04-29 11:16:07 +02:00
flywind
8bfc396a4d
fixes #18612 ; apply cache and memcmp for methods in arc/orc ( #19749 )
...
* try using endsWith
* use memcmp
* add cache
* cleanup
* better
* minor
* fix
* improve test coverage for methods with ARC
2022-04-26 20:14:39 +02:00
Andreas Rumpf
ef4ac5a0d2
use signed comparisons for the index checking in the hope it improves the code generation ( #19712 )
2022-04-26 08:58:15 +02:00
flywind
42ac50e988
fixes #19662 ; Indent level errored for first line ( #19718 )
2022-04-25 12:00:23 +02:00
flywind
15ae9323e8
fix NimNode comment repr() regression [backport: 1.2] ( #19726 )
2022-04-25 11:19:21 +02:00
flywind
465fd06d50
add warnings for gc:option ( #19722 )
2022-04-25 11:18:26 +02:00
flywind
efaa6777a4
fix #19435 ; don't create TypeBoundOps for tyOpenArray, tyVarargs [backport: 1.6] ( #19723 )
...
* fix #19435 ; openArray wronyly registers typebounds
* add testcase
* don't create TypeBoundOps for tyOpenArray, tyVarargs
2022-04-25 11:07:55 +02:00
Andrey Makarov
bb839029d5
Move common Latex code into class nimdoc.cls ( #19734 )
2022-04-21 15:06:09 -04:00
flywind
26bcf18f91
fix #19680 ; check if stderr is static ( #19709 )
2022-04-12 09:48:48 +02:00
flywind
a77ffdb7ea
fix #17286 nim check -b:js works ( #19704 )
...
* fix #17286 nim check -b:js works
* fix
2022-04-09 17:52:11 +02:00
flywind
00775f6880
fix stylecheck bug with nre ( #19356 )
...
* stylecheck usages part two: stdlib cleanup
typeinfo.nim: importCompilerProc => importcompilerproc
nre.nim: newLineFlags => newlineFlags
system.nim: JSRoot => JsRoot
ref #19319
* prefer importCompilerProc
* fix stylecheck error with asyncdispatch
it is a partial regression since #12842
* add tests
* don't use echo in tests
* fix stylecheck bug with nre
* Update compiler/linter.nim
* no need to check dotexpr again
* neither did let/var/const
2022-04-08 08:04:46 +02:00
Ivan Yonchovski
810d5e91e4
[nimsuggest] return the type when on symbol in let/var ( #19639 )
...
- make sure `suggestSym` is called after `PSym.typ` is set.
2022-04-07 13:39:27 +02:00
flywind
5a995ffc53
fix #18986 ; Import/except doesn't work on devel [backport: 1.6] ( #19687 )
...
* fix #18986 ; Import/except doesn't work on devel [backport: 1.6]
* add testcase
2022-04-06 16:17:09 +02:00
flywind
83dabb69ae
Fix bug in freshVarForClosureIter. Fixes #18474 ( #19675 ) [backport]
...
* Fix bug in freshVarForClosureIter. Fixes #18474 .
freshVarForClosureIter was returning non-fresh symbols sometimes.
Fixed by making addField return the generated PSym.
* remove discardable
Co-authored-by: Nick Smallbone <nick@smallbone.se >
2022-04-04 12:05:23 +02:00
Andreas Rumpf
7d32425a57
fixes #14318 ( #14335 )
2022-03-26 13:29:04 +01:00
flywind
82319ef00d
fix #8219 ; nim check/dump shouldn't run single nimscript project [backport: 1.6] ( #19641 )
...
* fix #8219 ; nim check/dump shouldn't run single nimscript project [backport: 1.6]
2022-03-26 11:50:15 +01:00
flywind
84ac003519
remove tmpFramePtr when optStackTrace is absent ( #19649 )
2022-03-26 08:57:29 +01:00
Andreas Rumpf
51df9ff1c7
fixes #19603 ; some pragmas were really only supported as top level statements. Now this is enforced properly. ( #19646 )
2022-03-26 06:47:04 +01:00
Andreas Rumpf
12a0f88a52
mitigates #19364 [backport]; we make this bug more unlikely to appear by producing better code to begin with; real fix will come later ( #19647 )
2022-03-26 06:37:04 +01:00
flywind
afbcba909b
remove unnecessary framePtr code ( #19645 )
2022-03-25 10:46:42 +01:00
flywind
7c3c61f2f1
fix nim check nimscript [backport: 1.6] ( #19444 )
...
fix #19440 ; fix #3858
2022-03-23 21:09:44 +01:00
flywind
2c01c9c4c8
output byref types into --header file [backport: 1.6] ( #19505 )
...
* output byref types into --header file
fix #19445
* fix comments
* set targets
2022-03-23 20:57:13 +01:00
flywind
7f6e800caf
move assertions out of system ( #19599 )
2022-03-23 20:34:53 +01:00
Andreas Rumpf
c4a0d4c5e3
fixes #19615 ; emit better code for integer divisions when the divisor… ( #19626 )
...
* fixes #19615 ; emit better code for integer divisions when the divisor is known at compile-time
* proper bugfix: unsigned numbers cannot be -1
2022-03-22 15:36:49 +01:00
Andreas Rumpf
731eabc930
fixes #19631 ( #19618 )
...
Aliasing is hard and we have to watch out not to compile 'x = f(x.a)' into 'f(x.a, addr x)'
2022-03-20 14:02:44 +01:00
Clyybber
3e83d73f27
compiler: Handle nkCheckedFieldExpr better in dfa ( #19616 )
...
Simply recurse into their first child, which is always
a nkDotExpr instead of treating them seperately.
This fixes the rhs sym of a nkCheckedFieldExpr being
checked twice in aliases. This double checking didn't
cause any issues, but was unintentional and redundant.
2022-03-18 16:41:45 +01:00
flywind
4c76f9f152
support useVersion:1.6 ( #19601 )
2022-03-10 17:01:27 +01:00
Andreas Rumpf
2beefb9aa0
fixes #19575 ( #19596 ) [backport]
...
* fixes #19575
* better bugfix
2022-03-09 11:42:09 +01:00
Andreas Rumpf
0d6795a771
fixes #19569 ( #19595 ) [backport]
...
* minor code refactorings
* fixes #19569
2022-03-09 07:22:10 +01:00
flywind
8f9dd5b349
register callback for marshal in VM ( #19578 )
...
* register callback for marshal in VM
* remove unrelated code
* polish
* more tests
* more tests
* add loadVM and toVM
2022-03-08 18:12:31 +01:00
flywind
d6d36093b1
apply changes from #18017 and some fixes ( #19571 )
...
* implements https://github.com/nim-lang/RFCs/issues/369
* deprecate unsafeAddr; extend addr
addr is now available for all addressable locations, unsafeAddr is deprecated and become an alias for addr
* follow @Vindaar's advice
* change the signature of addr
* unsafeAddr => addr (stdlib)
* Update changelog.md
* unsafeAddr => addr (tests)
* Revert "unsafeAddr => addr (stdlib)"
This reverts commit ab83c99c50 .
* doc changes; thanks to @konsumlamm
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
* merge
* remove
* fix bug
Co-authored-by: Araq <rumpf_a@web.de >
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2022-03-01 07:46:08 +01:00
Evan Typanski
207237cec2
Fix #18662 ( #19534 )
2022-02-28 13:18:41 +01:00
solarizedalias
c2c9fbd745
make compileOption("panics") work ( #19568 )
2022-02-27 08:22:52 +01:00
flywind
9c17a32e0e
fix #19266 ; allow reassign discriminant field ( #19567 )
...
* add inUncheckedAssignSection
* add one more test
2022-02-25 20:33:28 +01:00
PMunch
9a49451124
Remove volatiles when compiling with ARC/ORC ( #19545 )
...
This removes volatiles on ARC/ORC targets in NimMain and PreMainInner.
This avoids an issue where they couldn't be optimised out on
microcontrollers leading to larger code. Since the stack bottom doesn't
have to be initialised this way when using ARC or ORC (or None, which is
also covered by this PR) these can be safely removed.
2022-02-25 10:43:03 +01:00
Jake Leahy
340b5a1676
Document links repect --out in .idx file ( #19543 )
...
* Link in .idx file now respects --out:file switch
* Use clearer chained calls
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
2022-02-24 15:16:46 -05:00
Ștefan Talpalaru
0c915b5e47
compile pragma: cache the result sooner ( #19554 )
...
extccomp.addExternalFileToCompile() relies on hashes to decide whether
an external C file needs recompilation or not.
Due to short-circuit evaluation of boolean expressions, the procedure
that generates a corresponding hash file is not called the first time an
external file is compiled, so an avoidable recompilation is triggered
the next build.
This patch fixes that by moving the proc call with a desired side
effect from its boolean expression, so it's executed unconditionally.
2022-02-24 08:31:40 +01:00
locriacyber
516db3bac3
Remove trailing space in nim r command; Amend one error message ( #19487 )
2022-02-18 17:24:42 -05:00
Andreas Rumpf
ed0dce7292
fixes #19404 by protecting the memory we borrow from. this replaces crashes with minor memory leaks which seems to be acceptable. In the longer run we need a better VM that didn't grow hacks over a decade. ( #19515 )
...
Co-authored-by: flywind <xzsflywind@gmail.com >
2022-02-12 15:10:45 +01:00
flywind
27e548140b
don't use a temp for addr [backport: 1.6] ( #19503 )
...
* don't use a temp for addr
fix #19497
* Update compiler/ccgcalls.nim
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
* add a test
Co-authored-by: konsumlamm <44230978+konsumlamm@users.noreply.github.com >
2022-02-08 08:34:44 +01:00
flywind
d0287748fe
setjump => setjmp [backport: 1.2] ( #19496 )
2022-02-06 08:51:03 +01:00
flywind
7b09fd70ab
undefine C symbols in JS backend [backport:1.6] ( #19437 )
...
fix #19330 ; fix #19059
2022-02-04 17:10:24 -05:00
flywind
772ed5eff2
correct typos ( #19485 )
2022-02-03 11:15:46 +08:00
flywind
891329cd4b
move io out of system ( #19442 )
...
* move io out of system
* fix tests
* fix tests
* next step
* rename to syncio
* rename
* fix nimscript
* comma
* fix
* fix parts of errors
* good for now
* fix test
2022-02-02 17:10:11 +01:00
Jason Beetham
1830a3b505
No longer segfault when using a typeclass with a self referencing type ( #19467 )
2022-02-02 09:38:21 +01:00
flywind
56a901f9e1
fix broken CI ( #19472 )
...
* fix broken CI
* fix
* fix tests
2022-01-31 13:49:20 +01:00
Dominik Picheta
cb894c7094
Merge pull request from GHSA-ggrq-h43f-3w7m
...
This fixes a CVE (currently
https://github.com/nim-lang/Nim/security/advisories/GHSA-ggrq-h43f-3w7m )
2022-01-29 14:03:01 +01:00
flywind
0c3892c3c7
nvro don't touch cdecl types [backport: 1.6] ( #19461 )
...
* nvro don't touch cdecl types; fix #19342 again
2022-01-28 09:53:42 +01:00