Andreas Rumpf
71dd5f85b9
'isolate' builtin; refs https://github.com/nim-lang/RFCs/issues/244 ( #15011 )
2020-07-20 07:50:19 +02:00
Timothee Cour
e30a08103d
remove tyOpt, mOpt ( #14636 )
...
* remove tyOpt, mOpt
* fixup
2020-06-12 11:03:52 +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
Arne Döring
2f557652d4
fix operators containing percent for VM usage ( #13536 )
...
* fixes #13513
* merge tarithmetics in tarithm
2020-03-11 01:01:25 +01:00
Arne Döring
eb42f38088
Remove dead magics ( #13551 )
2020-03-03 12:42:43 +01:00
cooldome
c79df2fb6a
EndsInNoReturn in expressions extension, fixes #13490 ( #13520 )
...
* fix #13490
2020-02-28 09:55:06 +00:00
Timothee Cour
13c08f3ab4
VM: support importc var, ptr/pointer types, cast int <=> ptr/pointer ( #12877 )
...
* VM: allow certain hardcoded special var variables at CT
* VM: allow all importc var, cast[int](ptr)
* fix tests tests/vm/tstaticprintseq.nim, tests/cpp/t8241.nim
* VM: == works for ptr/pointer nodes
* bugfix: ==, cast now also works for pointer, not just ptr
* VM supports cast PtrLikeKinds <=> PtrLikeKinds / int
* improve cname handling
* fixup + bug fix
* VM: support cast from ref to int
* address comment: opcLdGlobalDeref => opcLdGlobalDerefFFI
* defensive check against typ == nil
2020-01-05 09:11:29 +01:00
Ico Doornekamp
6aade97fe8
Refactored VM registerlayout. The size and location of the registers in ( #12775 )
...
the instructions are now all derived from a single definition, allowing
the register layout to be changed.
2019-11-30 13:38:36 +01:00
Araq
0996eb174f
fixes #11727 [backport]
2019-11-28 23:00:34 +01:00
Araq
87f0d534d6
fixes #12488 [backport]
2019-11-28 23:00:34 +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
Andreas Rumpf
abe07eb75d
VM: improvements for var T/addr ( #12667 ); fixes #12489
2019-11-28 09:56:02 +01:00
Andreas Rumpf
56a00da34a
fixes #12612 [backport] ( #12681 )
2019-11-19 12:09:36 +01:00
Andreas Rumpf
a14abc5708
ARC: solves phase ordering problems ( #12654 )
2019-11-14 23:19:18 +01:00
Araq
1214960a1b
fixes #12547 [backport]
2019-10-29 15:07:04 +01:00
Andreas Rumpf
e0d13abaff
VM: fixes register leaks [backport] ( #12510 )
2019-10-25 00:45:06 +02:00
Andreas Rumpf
801a794039
VM: fixes most ran-out-registers problems [backport] ( #12485 )
2019-10-24 17:29:32 +02:00
Andreas Rumpf
38b3590e40
fixes #12310 [backport] ( #12470 )
2019-10-20 22:37:31 +02:00
Andreas Rumpf
1964589a29
fixes #12294 [backport]
2019-09-30 20:01:25 +02:00
Federico Ceratto
39290cf88c
Fix spellings ( #12277 ) [backport]
2019-09-27 07:02:54 +02:00
Andreas Rumpf
162d74db91
fixes #10981 ; fixes #7261 ( #12217 )
2019-09-19 14:34:56 +02:00
Arne Döring
188ce5f3ee
add nodeId proc to macros ( #11456 )
...
* add nodeId proc to macros
* add doc comment.
* fix typo
2019-09-18 20:02:30 +02:00
Arne Döring
638a4d9d9f
rename cast opcodes, fix for 32bit cast, fix python pretty printer ( #12207 )
2019-09-18 09:04:37 +02:00
Araq
f1b7c0494e
fixes #12195
2019-09-17 15:15:12 +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
Arne Döring
3d4ad9739c
fix min/max for float numbers ( #12068 )
2019-09-02 11:21:26 +02:00
Araq
e765687646
Merge branch 'devel' into uint-range-checks
2019-09-02 10:27:35 +02:00
Arne Döring
d564130a3b
Fix to int to biggest int ( #12066 )
...
* fix to(Biggest)Int
* kill toFloat magics as well
2019-08-27 23:18:46 +02:00
Arne Döring
ab8241ad42
minor stuff
2019-08-27 12:28:18 +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
b73d097d36
fixes #9829 ( #11849 )
2019-08-04 19:31:55 +02:00
Araq
07d465ca42
[refactoring] remove unused imports in the compiler and in some stdlib modules
2019-07-18 00:36:03 +02:00
Araq
7606efc0bf
[bugfix] VM: finally do inheritance properly
2019-07-12 12:15:30 +02:00
Araq
87a2ced1ba
there is only one style -- my style
2019-07-10 19:17:06 +02:00
Araq
78174857f8
fixes #10901
2019-07-10 16:10:20 +02:00
Arne Döring
11dad688fe
Offsetof fixes ( #11690 )
...
* first fixes
* more tests and fixes
* code normalization
2019-07-09 09:07:45 +02:00
Andreas Rumpf
28c9c062a4
fixes #11610 ( #11659 )
2019-07-05 07:26:06 +02:00
Timothee Cour
64168d4aea
fixes #8405 : -d:useNimRtl now works even when {.rtl.} procs are used at compile time; CTFFI now works with {dynlib} ( #11635 )
2019-07-03 23:57:52 +02:00
Arne Döring
e90d91f0e4
[refactoring] remove zeroExtend and friends from the compiler builtins. ( #11531 )
...
* remove zeroExtend and friends from the compiler builtins.
* fix jssys
2019-06-24 09:19:02 +02:00
Arne Döring
94177f7357
VM can now cast integer type arbitrarily. ( #11459 ) [feature]
2019-06-10 19:58:11 +02:00
Arne Döring
5b27b263fd
Remove immediate pragma ( #11308 )
...
* remove immediate from tests
* remove immediate from the compiler
2019-05-29 22:21:51 +02:00
Andreas Rumpf
23dbc9ad58
fixes #11268 ( #11299 )
2019-05-22 07:37:25 +02:00
Arne Döring
b92fd30282
rename tyExpr/tyStmt to tyUntyped/tyTyped ( #11227 )
2019-05-11 10:11:08 +02:00
Araq
f03391d477
fixes #6855
2019-05-10 19:50:23 +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
Andreas Rumpf
e1515b53d1
introduce temporary <//> for 'owned' to get this compile with 0.19 ( #11145 )
...
* introduce temporary <//> for 'owned' to get this compile with 0.19
* make newTable[string, owned Node]() compile (but it crashes)
* make sink/owned parameters consistent
* make actiontable test compile again
* VM: support sytem.move; makes tests green
2019-05-02 08:07:09 +02:00
Araq
0a84b8fb4d
added system.unown to make 'owned' sane to use in practice; later on we might change the type inference rules to make it more convenient
2019-04-29 13:36:00 +02:00
Mamy Ratsimbazafy
98002149a8
Fix #11111 nkIdentsDef left in vmgen ( #11126 )
...
fixes #11111
2019-04-27 14:29:39 +01:00