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