Commit graph

140 commits

Author SHA1 Message Date
Reimer Behrends
55e7d91b31 Fix generation of package-dependent init names.
The code incorrectly used relative instead of absolute paths to
see if *.babel files could be found, which could result in them
not being located properly.

Also added an underscore between the package and the module name
for package_moduleInit() and package_moduleDatInit() so that there
won't be spurious conflicts, e.g. for package A and module BC vs.
package AB and module C.
2014-06-25 00:42:55 +02:00
Andreas Rumpf
2ec1501c7a Merge pull request #1281 from Araq/new_spawn
New spawn
2014-06-16 23:03:17 +02:00
Araq
15909c7be2 optimized method dispatchers 2014-06-12 16:05:50 +02:00
Araq
be229163af Merge branch 'new_spawn' of https://github.com/Araq/Nimrod into new_spawn 2014-06-01 22:00:06 +02:00
EXetoC
f66f43bca0 Fix more 'undeclared identifier' errors. 2014-05-14 18:12:47 +02:00
Araq
c43e8df90c progress for the 'parallel' statement 2014-05-14 01:51:44 +02:00
Araq
5e839d50b4 fixes DLL generation 2014-04-21 03:44:48 +02:00
Araq
8e08ff559f first version of 'spawn' 2014-04-16 08:44:57 +02:00
Zahary Karadjov
862c0ef83d split the inline and closure iterators into different symbol kinds for easier discrimination between them 2014-03-06 21:57:35 +02:00
Zahary Karadjov
5324c9ebba iterators now return tyIter(T);
tyIter(T) represents an "iteration yielding values of type T"

I'm planning to use that in the context of the `is` operator
supporting predicates such as `C.items is iterator` and also
in the upcoming support for higher-order inline iterators.
2014-03-05 02:23:53 +02:00
Araq
614557994e the compiler is now aware of packages 2014-03-02 23:46:20 +01:00
Araq
2f692dcc3a make C backend more robust against compiler bugs 2014-02-27 20:39:34 +01:00
Zahary Karadjov
e6b0b7ecc9 some fixes for static params usage in macros 2014-02-25 01:36:08 +02:00
Zahary Karadjov
9dec669b94 nest PreMain inside NimMain for easier consumption of static libraries developed in Nimrod
fixes many uses of $N instead of $n for new lines that don't affect #line directives
2014-01-23 00:01:15 +02:00
Araq
73c6efdf66 'nil' as a statement is deprecated, use an empty 'discard' instead 2014-01-19 16:54:59 +01:00
Araq
a59939d295 it's the year 2014 2014-01-19 01:25:48 +01:00
Zahary Karadjov
046d829e5d Introduce a PreMain proc in the C codegen
The rationale here is that it has become too hard to step into a program
when #line directives are enabled. You have to skip over many lines of init
code that doesn't have corresponding lines in the nimrod program.
Now, you can just step-out of PreMain and go straight to the useful code
in NimMain.
2013-12-30 11:02:48 +02:00
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
Araq
b731e6ef1c case consistency: cs:partial bootstraps on windows 2013-12-29 03:19:10 +01:00
Araq
438703f59e case consistency: next steps 2013-12-29 01:13:51 +01:00
Araq
92b8fac94a case consistency part 4 2013-12-27 23:10:36 +01:00
Araq
2df9b442c6 case consistency part 1 2013-12-27 15:48:53 +01:00
Araq
4b0e391bb8 no stack tracing for the system module; fixes stack bottom detection 2013-12-20 00:02:04 +01:00
Zahary Karadjov
027f30610e static params: expr[T] is now static[T]
This introduces tyStatic and successfully bootstraps and handles
few simple test cases.  Static params within macros are no longer
treated as PNimrodNodes - they are now equivalent to constants
of the designated type.
2013-12-19 01:06:38 +02:00
Araq
132b6b3efe implemented 'injectStmt'; more debug support 2013-12-16 22:26:17 +01:00
Zahary Karadjov
14dd3113a2 fix computed dynlib names; fixes #718 2013-12-09 23:06:11 +02:00
Araq
32d2327be0 don't use memset for temps unless necessary 2013-12-03 13:30:58 +01:00
Araq
fe983b1309 fixes a regression where memset was used without including <string.h> 2013-12-03 01:59:38 +01:00
Araq
ac474a2812 'noStackFrame' implies 'naked' in the generated C code 2013-10-06 00:10:45 +02:00
Araq
a0b82db402 the compiler can now deal with multiple modules of the same name 2013-09-26 17:34:46 +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
275c7ccf82 fixes #575 2013-09-10 22:04:12 +02:00
Zahary Karadjov
ca3a4ce672 hacky fix for generic constraints matching 2013-08-19 01:48:25 +03:00
Zahary Karadjov
b01d9b6181 work-in-progress for compiling generics in their owner module 2013-08-19 01:45:16 +03:00
Zahary Karadjov
6ddd4e6a3f Revert "Revert "bugfix: emulated thread vars used in combination with the mark & sweep GC""
This reverts commit 75c586bbe1.
2013-08-19 01:27:05 +03:00
Araq
139562cc64 implements the 'codegenDecl' pragma 2013-06-27 18:13:11 +02:00
Araq
9604df8431 fixes #466 2013-06-06 23:15:05 +02:00
Araq
8c211113f2 better error message for subtle nil errors 2013-05-31 01:27:03 +02:00
Araq
75c586bbe1 Revert "bugfix: emulated thread vars used in combination with the mark & sweep GC"
This reverts commit 420789c278.
2013-05-27 23:20:20 +02:00
Zahary Karadjov
420789c278 bugfix: emulated thread vars used in combination with the mark & sweep GC
resulted in invalid code generation
2013-05-26 11:14:23 +03:00
Araq
2189e9a60f fixes #420 2013-05-19 01:52:06 +02:00
Zahary Karadjov
f44a4362bb added a `noforward` pragma that enables a new compilation strategy
not requiring forward declarations on a per-module basis
2013-05-11 22:47:37 +03:00
Araq
9fc98cefda Merge branch 'master' into newparser 2013-05-07 18:44:24 +02:00
Zahary Karadjov
961d3de8e5 fix compiling after suggest 2013-05-05 16:34:00 +03:00
Araq
3aa36a8568 bugfixes 2013-05-04 02:22:38 +02:00
Araq
fa0a327dd6 completed expr/stmt unification 2013-05-03 23:51:43 +02:00
Araq
a3864aea23 implements #258; activate via --verbosity:2 2013-04-13 01:24:57 +02:00
Zahary Karadjov
95b28700cc bugfix: fix linking when symbol files are used 2013-04-08 23:23:12 +03:00
Grzegorz Adam Hankiewicz
72a3e21f28 Removes executable bit for text files. 2013-03-16 23:53:07 +01:00
Araq
b63f322a46 debugger improvements 2013-03-16 17:07:47 +01:00