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
Araq
a64d4dc35c
documented object constrs; endb works again
2013-03-09 20:43:56 +01:00
Zahary Karadjov
81a3585872
merged upstream master
2013-01-27 23:41:45 +02:00
Zahary Karadjov
86bf97a730
cleaned up some debugging code
2013-01-20 21:22:07 +02:00
Araq
7148812524
first steps for FFI support at compile time
2012-12-19 02:22:39 +01:00
Araq
3be576222a
fixes #277 ; documentation improvements
2012-12-17 19:30:43 +01:00
Zahary Karadjov
d0edb1826b
adds an option to interleave the generated code with snippets from the original source
...
Lines from the original source are outputted as comments next to line directives.
Hopefully, this will make debugging codegen problems easier.
Other changes:
The frame setup code now uses a single-line C macro. My motivation was to reduce
the noise in the generated output and make it easier to step over the boiler-plate
code, but counter-intuitively this also improved the overall compilation speed a
little bit so I applied the same treatment to line tracking too (this reduces the size of
the generated files and the explanation is that probably the I/O overhead dominates
the macro expansion costs).
2012-12-02 20:36:29 +02:00
Zahary Karadjov
a42545ea3e
disables the compile-time rope formatting during bootstrapping
2012-11-28 01:15:14 +02:00
Zahary Karadjov
e817d54369
first batch of rope code converted to rfmt
...
The results so far are inconclusive:
The rope cache tries have been reduced by more than 125K (nearly 20%),
but the bootstrap time seems to be ever slightly increasing (0.01s).
2012-11-28 01:15:13 +02:00
Zahary Karadjov
f644e3079f
experimental compile-time rope formatting code
2012-11-28 01:15:13 +02:00
Zahary Karadjov
f9bd8cc985
[caas] first version that actually works (still has a lot of logical memory leaks on recompilation)
2012-11-28 01:15:13 +02:00
Zahary Karadjov
36e25a6849
CaaS in-memory caching
...
removed some redundant filepath params and variables and
switched to canonical paths in most places
2012-11-28 01:15:13 +02:00
Zahary Karadjov
091c1b3075
caas is now drivable through stdin
...
* added idetools --eval
* streams.readLine recognises and applies the backspace character
2012-11-28 01:15:13 +02:00
Araq
814fcb2639
bugfix: stack traces; first class iterators almost working
2012-11-15 01:27:25 +01:00