Andreas Rumpf
065a6af2de
fixes a critical =trace generation bug (see test case) ( #14140 )
2020-04-27 22:20:14 +02:00
PMunch
0e6eb96a5f
Fix #14066 issue with stringifying incomplete types ( #14135 )
2020-04-27 18:43:02 +02:00
hlaaftana
b2141fc2a1
changed type() to typeof() in docs and error messages ( #14084 )
2020-04-24 09:22:12 +02:00
Timothee Cour
66db9de714
CT sizeof(+friends) for {.importc, completeStruct.} types, enable ABI static checks ( #13926 )
...
* -d:checkabi obsolete (ABI check now enforced); add `addTypeHeader` helper
* cleanups
* import sizeof at CT for {.completeType.}
* address comments; revert default enabling of -d:checkAbi for now
* mimportc_size_check.nim => msizeof5.nim; merge mabi_check.nim into msizeof5.nim; refactor
* all pragmas in errmsgs should be written: '.importc' (un-ambiguous and less verbose than {.importc.})
2020-04-23 11:24:09 +02:00
Andreas Rumpf
9874981e75
fixes #14001 ( #14004 )
2020-04-19 10:01:04 +02:00
Timothee Cour
68539a2926
fix last remaining warning when building nim (intVal should be Int128) + minor cleanups ( #13841 )
2020-04-02 08:53:52 +02:00
Andreas Rumpf
0a49fe5fad
fixes #13763 ( #13777 )
2020-03-27 12:14:57 +01:00
Arne Döring
64ffa17f0f
fixes #13715 ( #13716 )
...
* fixes #13715
* fix test
2020-03-22 20:01:01 +01:00
Arne Döring
047d3af6da
fix #13720 ( #13721 )
2020-03-22 19:35:55 +01:00
Andreas Rumpf
3f29911a94
new feature: --staticBoundChecks:on to enforce static array index checking ( #10965 )
2020-03-18 14:25:10 +01:00
Andreas Rumpf
5ba5b5202a
fixes #13661 ( #13664 ) [backport]
2020-03-16 18:40:17 +01:00
Araq
3a6b470412
minor code style change
2020-03-16 14:55:58 +01:00
Araq
7205c3ebe2
minor code style changes
2020-03-16 14:55:58 +01:00
Andreas Rumpf
7626907401
ARC works for async on Windows ( #13179 )
2020-01-17 11:14:17 +01:00
Timothee Cour
3f78873898
remove all remaining warnings when build nim (with -d:nimHasLibFFI) ( #13084 )
...
* cleanup deprecations in evalffi + elsewhere
* remove dead code getOrdValue64
2020-01-09 13:19:18 +01:00
Andreas Rumpf
83a736a34a
ARC: cycle detector ( #12823 )
...
* first implementation of the =trace and =dispose hooks for the cycle collector
* a cycle collector for ARC: progress
* manual: the .acyclic pragma is a thing once again
* gcbench: adaptations for --gc:arc
* enable valgrind tests for the strutils tests
* testament: better valgrind support
* ARC refactoring: growable jumpstacks
* ARC cycle detector: non-recursive algorithm
* moved and renamed core/ files back to system/
* refactoring: --gc:arc vs --gc:orc since 'orc' is even more experimental and we want to ship --gc:arc soonish
2019-12-17 17:37:50 +01:00
Clyybber
7e747d11c6
Cosmetic compiler cleanup ( #12718 )
...
* Cleanup compiler code base
* Unify add calls
* Unify len invocations
* Unify range operators
* Fix oversight
* Remove {.procvar.} pragma
* initCandidate -> newCandidate where reasonable
* Unify safeLen calls
2019-11-28 17:13:04 +01:00
Arne Döring
21cbfd72ec
Refactor json macro ( #12391 )
...
* closes #12316
* make tjsonmacro work at js target
* closes #12289
* closes #11988
* also fixed gdb related stuff
2019-10-17 09:55:41 +02:00
Arne Döring
7cf3395d85
refactor illegal iterator assignment detection ( #12212 )
...
* refactor illegal iterator assignment detection
* delete crappy test
2019-10-11 08:43:58 +02:00
Andreas Rumpf
dd082b6ec8
fixes #12264 [backport] ( #12302 )
2019-09-30 21:44:24 +02:00
Federico Ceratto
39290cf88c
Fix spellings ( #12277 ) [backport]
2019-09-27 07:02:54 +02:00
Clyybber
ed1d41c51e
Small ast.nim cleanup ( #12156 )
...
* Remove sonsLen
* Use Indexable
2019-09-09 11:54:15 +02:00
Andreas Rumpf
ac6fcab7a4
Merge branch 'devel' into uint-range-checks
2019-09-02 22:03:10 +02:00
Andreas Rumpf
5a03eea518
revert #12100 ; typeof(nil) is weird enough, don't allow it as the return type
2019-09-02 17:48:06 +02:00
Araq
e765687646
Merge branch 'devel' into uint-range-checks
2019-09-02 10:27:35 +02:00
Albert Safin
a6428657e9
$typeof(nil) is now "typeof(nil)", not "nil"
2019-08-31 10:16:26 +00:00
Albert Safin
efe1bed82e
Allow typeof(nil) as a return type
2019-08-31 10:16:26 +00:00
Timothee Cour
9ae0dd611f
typeToString can now show (recursively) resolved type aliases; fixes #8569 #8083 #8570 ( #11678 )
...
* nested typeToString
* typeToString: preferResolved
* add test
* fix test
* preferMixed
* fix tests
2019-08-31 08:26:45 +02:00
Araq
d0e5bd2305
fixes a critical type checking regression
2019-08-29 12:10:31 +02:00
Andreas Rumpf
9203d3a982
fixes 5870 ( #11704 )
...
* fixes #5870
* make tclosure test green again
* this check is correct but breaks some Nimble packages
2019-08-29 07:49:58 +02:00
Arne Döring
ab8241ad42
minor stuff
2019-08-27 12:28:18 +02:00
Arne Döring
a562de2d91
squashed and merged with devel
2019-08-21 19:24:36 +02:00
nc-x
cf09ef47b8
Remove duplicate line number from 'invalid forward declaration' error ( #11966 )
2019-08-17 10:35:25 +02:00
Araq
289b5e9ef9
fixes #11254
2019-08-12 13:58:35 +02:00
Arne Döring
afbcd1b330
int128 on firstOrd, lastOrd and lengthOrd ( #11701 )
...
* fixes #11847
2019-08-07 15:53:16 +02:00
Arne Döring
ce148e71ef
disallow static in return type ( #9686 ) [nobackport]
2019-08-06 01:26:53 +02:00
Araq
58e0dad371
'nim check' stability improvements
2019-07-14 16:11:42 +02:00
Arne Döring
7d5d9f7703
introduce internal Int128 type, use it to fix case stmt checks ( #11652 )
...
* initial version of int128
* use int128 in case stmt
* fixes #11552
2019-07-05 22:45:32 +02:00
Andreas Rumpf
71b7383f12
fixes #11479 ( #11641 )
2019-07-03 07:22:30 +02:00
Araq
549d8cc0c6
[other] make typeAllowed easier to debug by using structured programming
2019-06-12 08:45:47 +02:00
Andreas Rumpf
8951680c05
fixes #10889
2019-05-29 08:00:52 +02:00
Jasper Jenkins
90ed904c4d
range/case fixes ( #11264 )
2019-05-16 16:36:40 +02:00
Arne Döring
b92fd30282
rename tyExpr/tyStmt to tyUntyped/tyTyped ( #11227 )
2019-05-11 10:11:08 +02:00
Oscar Nihlgård
de5c0d3aa9
Make range checks in semConv ( #7164 )
...
* Remove NaN/Inf/NegInf magic
* Make range checks in semConv
* fix the failing line
* fix `firstOrd` and `lastOrd`
* fix `localError`
* remove debug comment
* Cleanup, fix failing test
* make tests green
2019-05-10 11:10:11 +02:00
Andreas Rumpf
61380d0a07
Small cleanup ( #11185 )
...
* Remove mStaticTy and mTypeTy
* Replace countup(x, y-1) with x ..< y
* Replace countup(x, y) with x .. y
2019-05-08 17:18:46 +02:00
Arne Döring
34405db80f
forbid casting to bare unchecked array ( #11186 )
...
* fixes #11180 , forbid casting to unchecked array.
* allow UncheckedArray as param
2019-05-08 09:36:27 +02:00
Clyybber
cc28eef38e
Replace countup(x, y) with x .. y
2019-05-07 12:37:28 +02:00
Clyybber
f18b3af9d4
Replace countup(x, y-1) with x ..< y
2019-05-07 12:32:05 +02:00
Arne Döring
6f7f043c9b
Fix type recursion check ( #11144 )
...
* fixes #3456
* add test #3456
2019-05-07 08:29:17 +02:00
genotrance
45759b5e90
Fix 105, few fixes for 101 ( #11148 )
2019-05-04 22:38:52 +02:00