Commit graph

469 commits

Author SHA1 Message Date
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
Araq
2133fbfcce bugfix: wrong assertions for C++ code generation; some solaris support; first steps to an effect system 2012-10-30 22:29:03 +01:00
Zahary Karadjov
2efdf3df81 fixes #106 2012-10-16 02:21:28 +03:00
Zahary Karadjov
11cd0fde42 add static assertions in the generated code about platform-related assumptions 2012-10-11 13:22:18 +03:00
Araq
cf06131dec better extension loading for the OpenGL wrapper 2012-10-09 17:11:33 +02:00
Zahary Karadjov
c27637747a bugfix: closures as default param values 2012-10-06 14:51:46 +03:00
Araq
3bcf9f4e53 opengl wrapper compiles under windows 2012-09-29 08:06:43 +02:00
Araq
36efc380dd website improvements; better opengl wrapper (still broken) 2012-09-28 00:22:07 +02:00
Araq
32aa46a881 bugfix: typeinfo generation 2012-09-21 16:28:57 +02:00