Reimer Behrends
a772105e7d
Fixed stack bottom initialization for DLLs.
2014-08-14 02:10:28 +02:00
Araq
27b9d10570
Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
2014-08-14 00:02:39 +02:00
Araq
f3d530e482
fixes #1434
2014-08-14 00:02:24 +02:00
Andreas Rumpf
1d19c9525e
Merge pull request #1400 from rbehrends/fix-stackscan
...
More robust implementation for finding the beginning of the stack.
2014-08-13 20:17:16 +02:00
Araq
9673e4f2df
progress on deepCopy
2014-08-01 23:40:48 +02:00
Reimer Behrends
15734009ca
More robust implementation for finding the beginning of the stack.
...
This patch inserts an extra stack frame above the function that
calls the actual Nimrod code and ensures that a reference to this
frame is stored as the stack bottom.
2014-07-23 03:20:50 +02:00
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