ringabout
81e7811e01
fixes nim check with orc ( #20456 )
...
* fixes nim check with orc
* fixes tests
* add tests
* fixes tests
* Update tests/arc/t20456.nim
2022-10-02 06:44:10 +02:00
ringabout
1737bb9f9e
disable threads when booting the compiler ( #20478 )
2022-10-02 06:42:09 +02:00
Bung
567c3f055d
Fix #19224 For loops over a hardcoded empty array crash the compiler ( #20476 )
...
* Fix #11684 For loops over a hardcoded empty array crash the compiler
* Update t19224.nim
2022-10-01 23:19:07 +02:00
Bung
cbd9fee22a
fix #19678 Broken behavior with string ranges in case labels ( #20475 )
...
* fix #19678 Broken behavior with string ranges in case labels
* Update compiler/semtypes.nim
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2022-10-01 18:17:07 +02:00
Andreas Rumpf
8d47bf1822
new move analyser2 ( #20471 )
...
* produce better code for closure environment creation
* new 'first write' analysis;
* scope based move analyser
* code cleanup
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
2022-10-01 16:46:51 +02:00
metagn
cfff454cf9
closed ambiguous enum defaults to first overload ( #20457 )
...
* closed ambiguous enum defaults to first overload
* add warning
* turn to hint
* work around config
2022-10-01 13:30:23 +02:00
metagn
24b81e9df6
remove hack for deprecated csize in compiler ( #20463 )
...
* remove hack for deprecated csize in compiler
* remove test
2022-10-01 09:07:52 +02:00
ringabout
96c5586d03
add plausibleAnalytics support for koch docs[backport:1.6] ( #20454 )
...
add plausibleAnalytics to koch docs[backport:1.6]
2022-09-30 12:39:28 +02:00
ringabout
ae050b05e9
koch boot compiler with orc ( #20467 )
...
* koch boot compiler with orc
* use orc
* workaround bugs
* move it
* move the data
2022-09-30 12:38:25 +02:00
ringabout
a8cc5d1379
Unicode Operators are no longer experimental ( #20444 )
...
* Unicode Operators are no longer experimental
* fixes tests
* Update doc/manual.md
Co-authored-by: Andreas Rumpf <rumpf_a@web.de >
2022-09-28 22:37:26 +02:00
metagn
919a889ba8
moderate system cleanup & refactor ( #20355 )
...
* system refactor, move out 600 lines
* compilation, slice, backwardsindex, misc_num moved out of system
* some procs/types moved into arithmetics, basic_types
* system no longer depends on syncio
* some procs moved around to fit with their surroundings
* make exceptions an import, old ops to misc_num
* move instantiationInfo back
* move back nim version, fix windows echo
* include compilation
* better docs for imported modules, fix unsigned ops
also remove ze, ze64, toU8, toU16, toU32 with nimPreviewSlimSystem
* fix terminal
* workaround IC test & weird csize bug, changelog
* move NimMajor etc back to compilation, rebase for CI
* try ic fix
* form single `indices`, slim out TaintedString, try fix IC
* fix CI, update changelog, addQuitProc
* fix CI
* try fix CI
* actually fix CI finally hopefully
* Update lib/system/compilation.nim
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
* update kochdocs
* hopefully fix csize uses for slimsystem
* fix tquit
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
2022-09-28 15:28:45 -04:00
Tomohiro
92a0f191bf
Use vccexe when generating static lib with vcc ( #19843 )
2022-09-28 15:07:41 +02:00
metagn
de4b0346bd
store full definition AST for consts, fix noRewrite ( #20115 )
...
* continue #9582 for consts, close #9331 , fix #20114
also move extractPragma to ast to pave the way for things like {.strdefine: "abc".} etc
* changelog correctly
* fix jsgen
* update tgetimpl
* fix sighashes
* fix #19766 , add comment about postfix
* fix noRewrite LOL
refs #16620
* fix changelog
* fix destructors
2022-09-28 15:05:01 +02:00
ringabout
fdc6b0fb6e
fixes #19986 ; mutable view from immutable location ( #20134 )
...
* fixes #19986 ; mutable view from immutable location
* fixes the tests
2022-09-28 14:02:07 +02:00
konsumlamm
18cea8e9bd
Update message for checking cast ( #20145 )
...
* Update message for checking `cast`
* Update error messages in tests
2022-09-28 13:59:27 +02:00
ringabout
e33e9e4a32
fixes #20141 ; dereferencing pointer to incomplete type error with cast ( #20147 )
...
Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com >
2022-09-28 13:57:47 +02:00
ringabout
fe8feb46c6
fixes #19457 seqs are not properly updated in loop with ARC/ORC ( #19922 )
...
* test CI
* fixes #19457
* add comments
Co-authored-by: sandytypical <43030857+xflywind@users.noreply.github.com >
2022-09-28 13:12:08 +02:00
ringabout
80e739f2bf
fixes #19401 ; fixes #19402 ; rework Forward declaration and finalizer for ORC ( #20295 )
...
* fixes #19401 ; fixes #19402 ; rework Forward declaration and finalizer for ORC
* add more tests
* give it a name
* make more tests
* fixes tests
* hidden addr for cpp
* move code to a function
2022-09-27 20:07:26 +02:00
Amjad Ben Hedhili
98a717dda9
allow more simple expressions in js ( #20270 )
...
* make it match ccgexprs.nim `isSimpleExpr`
* x in {1, 2}
* r[].x and r.x when r is ref type
* float(x)
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
2022-09-27 12:47:45 +02:00
Amjad Ben Hedhili
d755c02b02
Compute small nim string lit at CT ( #20439 )
...
* Reduces runtime overhead for small strings.
* Avoids including `makeNimstrLit` in the output when all strings are
small enough.
2022-09-27 11:11:09 +02:00
Andreas Rumpf
ca1f3f36b9
no ropes WIP ( #20433 )
...
* refactorings in preparation for ropes elimination of the C code generator; mostly the usual ': Rope' -> 'result: var Rope' rewrite
* rewrote ccgcalls.nim
* refactored ccgexprs.nim
* ccgliterals: refactoring
* refactoring: code dealing with name mangling
* refactoring: getRecordFieldsAux
* ropes are strings (insert obscene joke here)
* optimize JS code gen
* optimizations and code improvements
* more optimizations
* final cleanups
2022-09-27 10:57:47 +02:00
ringabout
cb24eea86b
fixes #20426 ; remove maincommand and m options since they are a no op since 2014 ( #20429 )
...
* bump macOS image on Azure CI to macos-11
##[warning]The macOS-10.15 environment is deprecated, consider switching to macos-11(macos-latest), macos-12 instead. For more details see https://github.com/actions/virtual-environments/issues/5583
* fix CI error
* fixes #20426 ; remove `maincommand` and `m` options since they are a noop since 2014 and causes confusion
fixes #20426
7f7b13a45f (diff-d949f8c356fd2dc9ceedc6f3dbbd01e2c806269dd0a8ad6516facf589fa2c99a) makes it a no op, but it causes a regression because it should add `expectArg(switch, arg, pass, info)` before the discard statement. It causes https://github.com/nim-lang/Nim/issues/20426 to happen. Without `expectArg(switch, arg, pass, info)`, `-mm:orc` is wrongly interpreted as `-m` and compiler, which doesn't make sense. It should either abort compilation or prints `argument for command line option expected: '-m'` message. Since they are a no op since 2014, let's remove it to clear the confusion. Let's wait and see whether it breaks something.
* add a changelog
2022-09-26 15:40:20 -04:00
Amjad Ben Hedhili
40dae8c731
Represent more types as JS TypedArrays ( #20411 )
...
* Represent `array[N, char]` as JS `UInt8Array(N)`
* Add support distinct and range types
* Add support for bools and enums
2022-09-26 12:26:28 +02:00
Bung
e13cd40e21
fix #2614 improve error message when array of proc calling convention… ( #20379 )
...
fix #2614 improve error message when array of proc calling convention mismatch
2022-09-26 11:58:13 +02:00
ringabout
30bd75e459
continue booting the compiler with refc ( #20421 )
...
* continue boot the compiler with refc
* koch
* use `gc:refc`
2022-09-24 20:14:01 +08:00
ringabout
7739e23420
defaults to ORC ( #19972 )
...
* defaults to Orc
* bootstrap using refc
* use gc
* init orc defines
* unregister orc
* fix gc
* fix commands
* add prepareMutation for orc
* enable deepcopy for orc
* prepareMutation
* more fixes
* some cases
* bug #20081
* partial fixes
* partial fixes
* fixes command line
* more fixes
* build Nim with refc
* use gc
* more fixes
* rstore
* orc doesn't support threadpool
* more shallowCopy
* more fixes
* fixes unsafeNew
* workarounds
* small
* more fixes
* fixes some megatest
* tcodegenbugs1 refc
* fxies megatest
* build nimble with refc
* workaround tensordsl tests
* replace shallowCopy with move
* fixes action
* workaround
* add todo
* fixes important packages
* unpublic unregisterArcOrc
* fixes cpp
* enable windows
Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com >
2022-09-23 13:05:05 +02:00
ringabout
47b59e4d33
fix #17351 ; switch to c++17 and remove hacks ( #20407 )
...
* fix #17351 ; switch to c++17
* remove workaround
2022-09-23 11:16:43 +02:00
Aditya Siram
be4bd8a0ed
Fixes #20348 ; only respect the recursion limit if the symbol's generic type has been generated by the compiler ( #20377 )
...
Fixes #20348
2022-09-22 14:19:36 -04:00
Bung
2afce84616
Improve error message when instantiating generics with object constructor ( #20358 )
...
* Improve error message when instantiating generics with object constructor
* follow suggestion
* Update compiler/semobjconstr.nim
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
* Update tests/errmsgs/t19882_2.nim
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
2022-09-21 21:11:39 -04:00
ringabout
70c25c45d6
fixes #20397 ; fixes stylecheck regression ( #20398 )
...
* fixes #20397 ; fixes stylecheck
* add testcase
2022-09-21 15:04:33 -04:00
ringabout
e0c1159fb3
fixes #20391 ; make of operator work with generics for ORC ( #20395 )
2022-09-21 10:29:39 +02:00
ringabout
4a1bda667c
turn nimIncrSeqV3 into deadcode ( #20388 )
2022-09-20 14:59:50 +02:00
Bung
08c02f0236
report expression has no type other than has to be used (or discarded… ( #20392 )
...
report expression has no type other than has to be used (or discarded) when typ is tyNone in discardCheck
2022-09-20 14:50:48 +02:00
Bung
a302b26e0e
fix #19882 Improve error message when instantiating generics that lac… ( #20356 )
...
* fix #19882 Improve error message when instantiating generics that lack a type
* Update tests/errmsgs/t19882.nim
Co-authored-by: Clay Sweetser <Varriount@users.noreply.github.com >
2022-09-19 18:31:40 -04:00
Amjad Ben Hedhili
7a756bfaef
Shorten JS block code ( #20370 )
2022-09-19 15:09:41 +02:00
ringabout
97259a5ab3
fixes #19713 ; Revert "Remove tlsEmulation enabled from Windows + GCC config" ( #19119 ) ( #20327 )
...
* Revert "Remove tlsEmulation enabled from Windows + GCC config (#19119 ) [backport:1.6]"
This reverts commit 77b696c2c9 .
* increase nimTlsSize to 48000
* enable for windows
* fixes tests
* fixes tlsEmulation:on
2022-09-19 09:16:54 +02:00
Tanguy
3a5e38ab9d
Allow custom pragma on iterators [backport] ( #20344 )
...
Allow custom pragma on iterators
2022-09-17 02:10:47 +08:00
metagn
a73ae3e066
minor improvements to follow up recent PRs ( #20342 )
...
put mOpenArrayToSeq in compile-time evaluation whitelist
(it was mNone before which was whitelisted), homogenize
"ordinal type expected" errors, put overloadable enums
in non-experimental manual
2022-09-14 18:30:15 +02:00
Bung
08faa04d78
fix #20233 Float ranges in case statement in JS crash compiler ( #20349 )
2022-09-14 17:16:34 +02:00
Andreas Rumpf
6bf21e7b3d
fixes #19724 ; don't be aggressive when you infer sink parameters ( #20314 )
...
* fixes #19724 ; don't be aggressive when you infer sink parameters
* better logic and updated tests
* wip
* fixes tests (#20330 )
* restore tests
* try splitPath
Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com >
* Apply suggestions from code review
* Apply suggestions from code review
Co-authored-by: ringabout <43030857+ringabout@users.noreply.github.com >
Co-authored-by: xflywind <43030857+xflywind@users.noreply.github.com >
2022-09-12 00:58:29 +02:00
Clay Sweetser
8850644cb7
Revert "fixes #20155 ; repr range with distinct types is broken with ORC" ( #20334 )
...
Revert "fixes #20155 ; repr range with distinct types is broken with ORC (#20158 )"
This reverts commit 37b3f62eef .
2022-09-11 16:56:11 -04:00
ringabout
37b3f62eef
fixes #20155 ; repr range with distinct types is broken with ORC ( #20158 )
...
* fixes #20155 ; repr range with distinct types is broken with ORC
* skipRanges
2022-09-11 16:55:22 -04:00
Andrey Makarov
088487f652
Implement Markdown definition lists (+ migration) ( #20333 )
...
Implements definition lists Markdown extension adopted in a few
implementations including:
* [Pandoc](
https://pandoc.org/MANUAL.html#definition-lists )
* [kramdown](
https://kramdown.gettalong.org/quickref.html#definition-lists )
* [PHP extra Markdown](
https://michelf.ca/projects/php-markdown/extra/#def-list )
Also affected files have been migrated.
RST definition lists are turned off for Markdown: this solves the
problem of broken formatting mentioned in
https://github.com/nim-lang/Nim/pull/20292 .
2022-09-11 13:52:43 -04:00
metagn
58e6d439d8
fix #13515 [backport] ( #20315 )
...
* fix #13515
* only compile test
* no idea why this PR is unlocking this
* don't rope in symchoices
* even more restrictive
2022-09-11 08:33:24 +02:00
ringabout
1699ba1c93
fixes nightlies build regression ( #20322 )
...
fixes nightlies build
2022-09-08 22:30:03 +02:00
ringabout
bbbfde7341
fixes #20303 ; wasMoved expressions with side effects for ORC ( #20307 ) [backport]
...
fixes #20303 ; wasMoved expressions with side effects
2022-09-08 08:07:28 +02:00
Amjad Ben Hedhili
5d947bb791
Replace if by case in JS isSimpleExpr ( #20267 )
...
use case stmt
2022-09-06 21:33:40 +02:00
metagn
801eb3cb56
use arrow precedence in spec ( #20166 )
...
* test using arrow precedence in spec
refs #8759
* add test for #8759
2022-09-06 21:24:32 +02:00
ringabout
557d79e7a2
fixes #9462 ; jsondoc --index can generate a theindex.json ( #20205 )
2022-09-06 21:23:33 +02:00
metagn
5ebd1248df
overloadable enums no longer experimental ( #20298 )
...
depends on #20126
2022-09-05 23:38:38 +02:00