Reimer Behrends
68b7779bc7
Fixes various issues with shallow copying.
...
* The {.shallow.} pragma is now properly respected for objects and
tuples that are not handled by genGenericAsgn(). Mirroring the
decision in generic assignments, whether an assignment is shallow
depends on the destination of the assignment, but not the source.
* String literals and complex inline constants are now properly assigned
a location kind of locData.
* Assignments from a locData source will now force deep copying to
occur, even if shallowCopy or {.shallow.} is being used. This
avoids potential crashes from `shallowCopy s, "xxx"` or from
`shallowCopy t, ("a", "b")`.
2013-12-01 19:15:43 +01:00
Araq
5dcfa97fb9
fixes #696
2013-12-01 17:02:56 +01:00
Araq
b3d759ca6d
fixes #681
2013-11-30 03:15:14 +01:00
Araq
2dcbc6493a
fixes #686
2013-11-29 20:42:12 +01:00
Araq
9035d15ed2
next steps for FFI support
2013-11-25 13:04:11 +01:00
Araq
d0f7db0828
always call the linker; fixes #660
2013-11-19 15:41:20 +01:00
Araq
cd1f96d421
fixes #663
2013-11-19 15:11:44 +01:00
Andreas Rumpf
fb810e25c4
Merge pull request #680 from Varriount/core/fix-generic-crashes
...
Prevent lambdas from crashing if given implicit generic parameters.
2013-11-19 02:34:22 -08:00
Clay Sweetser
f279d465d0
Prevent lambdas from crashing if given implicit generic parameters.
...
Fixes issues #599 and #641 (and possibly other generic-related issues)
2013-11-18 17:26:53 -05:00
Zahary Karadjov
a068aaed3c
simple unit test and better documentation for the user defined type classes
2013-11-17 22:50:26 +02:00
Zahary Karadjov
4cea15d274
improvements for the is operator; implemented the type lifting rule in user-defined type classes
2013-11-17 16:28:42 +02:00
Zahary Karadjov
31dd66acbf
support for multiple test variables and var qualifiers in user-defined type classes
2013-11-13 02:24:08 +02:00
Araq
4cda0861f5
tcnstseq works again
2013-11-07 00:25:54 +01:00
Araq
27ec76dd3a
VM now supports lambda lifting
2013-11-06 08:37:20 +01:00
Andreas Rumpf
528f972d17
Merge pull request #631 from mflamer/master
...
LockFree Hash Table 0.1
2013-10-31 13:43:19 -07:00
Mark Flamer
f8206cb357
better better fix for Issue #629 Recursive generic types not working
2013-10-30 16:09:00 -07:00
Mark Flamer
4330c986db
better fix for Issue #629 Recursive generic types not working
2013-10-29 20:48:40 -07:00
Araq
be45263623
jump optimizer works
2013-10-29 16:47:40 +01:00
Araq
b4e25a6372
new VM is getting stable
2013-10-29 01:07:59 +01:00
Mark Flamer
9df232911c
fix for Issue #629 Recursive generic types not working
2013-10-25 19:04:14 -07:00
Araq
6ea538cec3
computed goto now works; some progress on the new VM
2013-10-25 13:30:34 +02:00
Simon Hafner
a352109ade
Merge pull request #630 from mflamer/master
...
remove whitespace
2013-10-22 07:24:35 -07:00
Mark Flamer
b27aae4bf9
more whitespace removal
2013-10-21 21:36:53 -07:00
Mark Flamer
129e72de70
remove extra white space
2013-10-21 21:33:34 -07:00
Andreas Rumpf
a74a93d885
Merge pull request #628 from mflamer/master
...
fix for Issue #626 - Distinct and generics not working together
2013-10-21 15:37:45 -07:00
Mark Flamer
01e43fbe83
fix for Issue #626 - Distinct and generics not working together
2013-10-21 11:43:41 -07:00
Araq
ca12bf76f5
opcLdGlobal bugfix
2013-10-16 17:26:07 +02:00
Araq
3d18053370
some complex macros work
2013-10-16 16:41:24 +02:00
Araq
6a9baf3fd7
compiler bootstraps with new VM
2013-10-15 08:06:54 +02:00
Araq
5659a1662e
attempt to improve line information for '!=' etc. templates
2013-10-15 07:57:32 +02:00
Araq
98defd5a56
fixes #616
2013-10-10 00:55:54 +02:00
Araq
f9861e1fab
cooler quote for c2nim
2013-10-10 00:45:15 +02:00
Araq
9bf32ff72d
bugfix: package names should not contain '.'
2013-10-07 21:36:31 +02:00
Araq
90d25919f3
implemented top level asm statements
2013-10-07 06:38:04 +02:00
Araq
27215e89f9
Merge branch 'master' of https://github.com/Araq/Nimrod
2013-10-06 00:10:54 +02:00
Araq
ac474a2812
'noStackFrame' implies 'naked' in the generated C code
2013-10-06 00:10:45 +02:00
Andreas Rumpf
b700e0d2f8
Merge pull request #604 from reactormonk/master
...
moved eqproc to the correct magic position
2013-10-05 12:07:26 -07:00
Araq
422327c010
fixed another semicolon related parsing bug
2013-10-02 07:57:30 +02:00
Araq
a943905d6c
fixes #609
2013-10-01 20:24:37 +02:00
Araq
1a792d46d0
first version of the debug GC; doesn't work yet
2013-10-01 08:44:09 +02:00
Simon Hafner
ab31ad2704
don't mess with semfold, use vars instead
2013-09-26 15:10:54 -05:00
Simon Hafner
becd55dced
moved eqproc to the correct magic position
...
also added mEqCString to evalOps so the test runs
2013-09-26 15:05:00 -05:00
Simon Hafner
e1c2aa2ddd
Revert "deleted EqProc so the magic aligns again" - wrong remote.
...
This reverts commit d7c8b3ad06 .
2013-09-26 14:31:02 -05:00
Simon Hafner
d7c8b3ad06
deleted EqProc so the magic aligns again
2013-09-26 14:27:52 -05:00
Araq
a0b82db402
the compiler can now deal with multiple modules of the same name
2013-09-26 17:34:46 +02:00
Araq
9bfcdc40ef
JS codegen: supports more builtins
2013-09-24 23:56:23 +02:00
Araq
e3ecc328a1
fixes #593
2013-09-24 21:45:22 +02:00
Araq
8b5aa221ad
support for multiple modules of the same name; niminst supports 'platforms'; minor bugfixes
2013-09-24 16:07:07 +02:00
Araq
83584bf889
implemented 'import a as b'
2013-09-24 09:36:31 +02:00
Araq
367abca382
support for --cs:partial
2013-09-24 09:32:49 +02:00