Commit Graph

1060 Commits

Author SHA1 Message Date
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
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
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
Mark Flamer
9df232911c fix for Issue #629 Recursive generic types not working 2013-10-25 19:04:14 -07: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
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
Araq
f1e789bfc2 fixes #576 2013-09-18 02:58:18 +02:00
Araq
51672aef72 should fix newly introduced bugs wrt TR macros 2013-09-18 02:03:56 +02:00
Araq
9de3bc8ef6 improvements for TR macros 2013-09-17 23:43:07 +02:00
Araq
0a851c869f c2nim: added some scope operator parsing 2013-09-11 00:07:39 +02:00
Araq
596496f695 fixes #566 2013-09-11 00:00:11 +02:00
Araq
4d86b8a83c fixes #588 2013-09-10 23:49:53 +02:00
Araq
275c7ccf82 fixes #575 2013-09-10 22:04:12 +02:00
Araq
138db5a85d disabled M&S GC again 2013-09-10 00:46:02 +02:00
Araq
f659b6a0d9 Merge branch 'master' of github.com:Araq/Nimrod 2013-09-10 00:40:19 +02:00
Araq
db19b18241 cn2im: basic C++ support 2013-09-10 00:40:06 +02:00
Zahary Karadjov
f05ac0cb23 fix regressions affecting the echo magic and the creating of rod files
the markAndSweep GC was not responsible for the regressions so
this commit restores its use
2013-09-07 11:55:19 +03:00
Zahary Karadjov
0ade885617 reverting the GC change 2013-09-05 12:35:42 +03:00
Araq
40b379859c resolved the conflict 2013-09-03 23:46:41 +02:00