Commit Graph

144 Commits

Author SHA1 Message Date
Zahary Karadjov
afddae5aaf Merge branch 'upstream' into devel
Conflicts:
	compiler/ccgutils.nim
	compiler/msgs.nim
	compiler/sem.nim
	compiler/semexprs.nim
	compiler/seminst.nim
	compiler/semmagic.nim
	compiler/semstmts.nim
	compiler/semtypes.nim
	compiler/semtypinst.nim
	compiler/sigmatch.nim
	compiler/types.nim
	compiler/vmgen.nim
	lib/core/macros.nim
	lib/system.nim
	tests/reject/tenummix.nim
	web/news.txt
2013-12-29 17:21:00 +02:00
Zahary Karadjov
72291875bf integrate the logic of fixupProcType into ReplaceTypeVars 2013-12-29 16:08:33 +02:00
Zahary Karadjov
66a2556525 make more tests green 2013-12-29 00:00:37 +02:00
Zahary Karadjov
a59f13b00d lift generic parameters from concrete composite type classes 2013-12-28 12:50:45 +02:00
Zahary Karadjov
a27eb51535 towards support for composite type classes such as seq[Number] and SquareMatrix[T] 2013-12-27 18:34:28 +02:00
Araq
1081c104d0 Merge branch 'vm2' of github.com:Araq/Nimrod into vm2 2013-12-24 01:30:48 +01:00
Satish BD
033938a53a Correct the spelling of the word 'implicitly' 2013-12-23 04:29:50 +02:00
Araq
328f193292 new VM: globals kinda work 2013-12-13 01:21:23 +01:00
Araq
6db20a4be8 new VM: improvements 2013-12-12 01:34:01 +01:00
Araq
4ffe6a8282 new VM: passes more tests 2013-12-06 01:48:02 +01:00
Araq
5eba93d584 Merge branch 'master' into vm2
Conflicts:
	compiler/sem.nim
2013-12-05 00:03:27 +01:00
Araq
2dcbc6493a fixes #686 2013-11-29 20:42:12 +01:00
Araq
6ea538cec3 computed goto now works; some progress on the new VM 2013-10-25 13:30:34 +02:00
Araq
422327c010 fixed another semicolon related parsing bug 2013-10-02 07:57:30 +02:00
Araq
40b379859c resolved the conflict 2013-09-03 23:46:41 +02:00
Araq
891f871ba7 better support for GNU's assembler 2013-09-03 23:44:31 +02:00
Zahary Karadjov
6082595e96 Merge branch 'type-classes' into upstream 2013-09-03 03:14:56 +03:00
Araq
b40ab4dc9e fixes #554, fixes #179 2013-08-31 11:49:33 +02:00
Araq
e698d6255b fixes #563 2013-08-31 10:03:41 +02:00
Araq
8710118b2c Merge branch 'master' of github.com:Araq/Nimrod 2013-08-30 12:44:27 +02:00
Araq
a17076cf4f fixes #572 2013-08-30 12:44:09 +02:00
Zahary Karadjov
9cc23118be fix tcompiles 2013-08-27 01:01:03 +03:00
Zahary Karadjov
56d75bd23b implemented and documented the new typedesc binding rules 2013-08-23 15:43:27 +03:00
Zahary Karadjov
fee2a7ecfa Experimental support for delayed instantiation of generics
This postpones the semantic pass over the generic's body until
the generic is instantiated. There are several pros and cons for
this method and the capabilities that it enables may still be possible
in the old framework if we teach it a few new trick. Such an attempt
will follow in the next commits.

pros:
1) It allows macros to be expanded during generic instantiation that
will provide the body of the generic. See ``tmacrogenerics``.
2) The instantiation code is dramatically simplified. Dealing with unknown
types in the generic's body pre-pass requires a lot of hacky code and error
silencing in semTypeNode. See ``tgenericshardcases``.

cons:
1) There is a performance penalty of roughly 5% when bootstrapping.
2) Certain errors that used to be detected in the previous pre-pass won't
be detected with the new scheme until instantiation.
2013-08-23 01:10:20 +03:00
Araq
a8c8a85135 Merge branch 'master' of github.com:Araq/Nimrod 2013-08-22 19:28:58 +02:00
Araq
6f1fc1b5ba fixed and documented computedGoto pragma 2013-08-22 08:38:47 +02:00
Zahary Karadjov
3e79e9f981 some steps to improve the type mismatches with the new
generic instantiation logic
2013-08-19 01:45:16 +03:00
Zahary Karadjov
c6d0611112 Revert "Revert "made some tests green"" 2013-08-19 01:35:33 +03:00
Zahary Karadjov
fc858927f0 Revert "Revert "fix tforwardgeneric""
This reverts commit e3f93241c3.
2013-08-19 01:29:47 +03:00
Zahary Karadjov
f127bc387a Revert "Revert "test cases for the new features""
This reverts commit e1b668c868.
2013-08-19 01:17:07 +03:00
Araq
d53f313599 implemented computed goto support 2013-08-13 11:21:02 +02:00
Araq
b1d4dfa6b1 fixes #544 2013-07-24 22:32:09 +02:00
Araq
dfe195a4a1 fixes #501 2013-07-01 20:25:38 +02:00
Araq
b6f2902905 Merge branch 'master' of github.com:Araq/Nimrod 2013-06-27 19:57:24 +02:00
Dominik Picheta
a9f2c3ffaf Fixed OSError + recvLine deprecation warnings. 2013-06-27 15:06:30 +01:00
Araq
8d4f5038d0 fixes #488 2013-06-27 08:19:03 +02:00
Araq
2aaa8f7909 implemented dataflow analysis; activate via --warning[Uninit]:on 2013-06-04 21:58:39 +02:00
Araq
24955f8358 fixes #458 2013-05-31 02:27:05 +02:00
Araq
e3f93241c3 Revert "fix tforwardgeneric"
This reverts commit d82a032566.
2013-05-27 23:18:15 +02:00
Araq
c67abd7e61 Revert "more test made green"
This reverts commit 911e6e710f.
2013-05-27 23:16:56 +02:00
Araq
e1b668c868 Revert "test cases for the new features"
This reverts commit 66653e8f14.
2013-05-27 23:16:00 +02:00
Zahary Karadjov
66653e8f14 test cases for the new features 2013-05-26 22:15:30 +03:00
Zahary Karadjov
911e6e710f more test made green
the lambda lifting was trying too hard to ignore generic prods
isGenericRoutine was producing false-negatives and only
this allowed for some of the warning and error messages
to be triggered.

some files with mixed line endings were fixed
2013-05-26 21:06:39 +03:00
Zahary Karadjov
d82a032566 fix tforwardgeneric 2013-05-26 15:12:09 +03:00
Zahary Karadjov
1d29d24465 documented the `noforward` pragma 2013-05-12 16:14:28 +03:00
Araq
2d39a18faa better effects handling for callbacks 2013-05-09 03:20:55 +02:00
Araq
af441e607f fixes #117 2013-05-04 13:21:36 +02:00
Araq
75b508032b added manyloc test suite; --path now relative to project dir if not absolute 2013-04-13 21:55:02 +02:00
Araq
18fbaab216 fixes #310 2013-04-13 01:09:15 +02:00
Araq
3cb3813eed fixes #287; bugfix: subrange checking is performed again 2013-04-12 16:24:58 +02:00