Araq
c6398d408d
fixes #1888
2015-04-27 23:11:59 +02:00
Araq
ecc0090939
fixes #2551 ; fixes #2212 ; breaks bootstrapping in debug mode; bootstrap with -d:release
2015-04-25 23:16:57 +02:00
Araq
c1730e1ead
fixes #2335
2015-04-24 12:35:13 +02:00
Araq
751232dc7c
implements .goto support for variables
2015-04-19 02:42:40 +02:00
def
39049e151f
Get rid of deprecation warnings
2015-04-07 15:47:18 +02:00
Jacek Sieka
c40249cd43
compiler_ropes: ropeToStr -> $
2015-04-01 22:32:15 +08:00
Araq
5641be51c1
codegen doesn't produce line tracing commands anymore; fixes #1344
2015-03-21 20:38:27 +01:00
Araq
910ef7b2d1
'constructor' pragma for C++ support
2015-03-18 11:42:37 +01:00
Araq
1fc590b6ea
don't generate memset calls for C++ objects
2015-03-18 11:42:36 +01:00
Araq
f4a0400de2
fixes #2199 , fixes #2197
2015-02-24 19:19:08 +01:00
Araq
df2fdaf3c5
fixes #2121
2015-02-14 14:45:49 +01:00
Araq
ecd0dea091
tables work in 'const' sections; echo supports 'nil' strings; minor cleanups
2015-02-09 00:08:55 +01:00
Araq
e84834db79
lots of C++ codegen improvements
2015-02-07 10:48:07 +01:00
Araq
e75e421912
C++ support: codegen generates C++'s references and avoids copies
2015-02-04 00:52:45 +01:00
Araq
fe30ec83e2
nimsuggest improvements
2015-01-30 03:04:45 +01:00
Araq
d4786976dd
asm stmt: don't quote what is already quoted
2015-01-29 10:18:52 +01:00
Araq
bd7681f794
fixes yet another GAS parsing bug
2015-01-29 10:11:29 +01:00
Araq
350fbc6aca
fixes #1907
2015-01-11 01:33:25 +01:00
Guillaume Gelin
3119fe087d
Happy new year!
2015-01-06 15:26:33 +01:00
Araq
2be3f501a1
fixes #1742
2014-12-24 13:02:58 +01:00
Araq
37cc9b2226
fixes #1181
2014-11-13 19:07:27 +01:00
Araq
2dba3acfa9
Merge branch 'devel' into bigbreak
2014-10-25 12:43:27 +02:00
Araq
134311c7e0
'.emit' pragma produces a trailing newline
2014-10-25 01:51:33 +02:00
Araq
fc47c0edc7
Merge branch 'devel' of https://github.com/Araq/Nimrod into bigbreak
...
Conflicts:
lib/impure/db_postgres.nim
lib/pure/os.nim
lib/wrappers/postgres.nim
2014-10-04 19:40:23 +02:00
Araq
e65c296bcc
implemented mixed mode codegen
2014-10-03 01:21:35 +02:00
Reimer Behrends
f99c40f61b
Improve setjmp()/longjmp() performance.
...
Exception handling for the C backend used setjmp()/longjmp()
unconditionally. However, on POSIX systems, these functions save and
restore the signal mask, adding considerable overhead to exception
handling, even where no exceptions are involved. The compiler and
library now try to use either _setjmp()/_longjmp() or
sigsetjmp()/siglongjmp() where possible, marked by the defines
"nimRawSetjmp" and "nimSigSetjmp", respectively. The define
"nimStdSetjmp" can be used to revert to setjmp()/longjmp() instead.
2014-09-25 23:29:02 +02:00
Araq
7916b1f9aa
implemented 'guard' annotation
2014-09-21 18:39:00 +02:00
Reimer Behrends
80356f1cc7
Avoid unnecessary #include triggered by importc vars.
...
When a C variable or macro is imported via an {.importc.} var or
let statement, but no definition is needed and the variable does
not have an initializer part, then there is also no need to generate
an #include for the associated header until and unless the variable
is actually used. The header is already generated upon use, but
unnecessarily also when the variable is defined.
This is an issue with the posix module in particular, where a lot
of unnecessary header files are being included because relevant
constants are defined via importc vars, and those header files
may not even be available on a given system.
This patch omits the generation of the #include directive for those
definitions where they aren't needed.
2014-09-19 03:34:00 +02:00
Araq
c73142d852
fixes #1067
2014-09-11 10:02:45 +02:00
Araq
c9563d28a8
fixes #1067
2014-08-30 22:44:33 +02:00
Araq
2781fea9e2
Nimrod renamed to Nim
2014-08-28 09:38:14 +02:00
Araq
dbf9117c56
the big renamefest: first steps
2014-08-22 23:54:26 +02:00
Araq
2728bbccc4
fixes newly introduced bugs
2014-08-14 02:42:26 +02:00
Araq
f3d530e482
fixes #1434
2014-08-14 00:02:24 +02:00
Araq
bd705a517f
compiler prepared for the new comment handling
2014-04-30 00:53:44 +02:00
Araq
325dd44e81
gensym'ed symbols work with lambda-lifting; closures produce objects instead of tuples for easier debugging
2014-04-03 22:35:10 +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
Audun Wilhelmsen
739b4f214b
Fixed #688 : return in except statments. Also fixed return in finally statements.
2014-02-23 00:23:06 +01:00
Audun Wilhelmsen
8cccaebc2e
Fixed issue 391 (nested break in except-stmts)
2014-02-16 02:08:36 +01: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
b76729df1c
Merge branch 'master' of https://github.com/Araq/Nimrod into vm2
...
Conflicts:
web/news.txt
2013-12-23 01:23:16 +01:00
Araq
132b6b3efe
implemented 'injectStmt'; more debug support
2013-12-16 22:26:17 +01:00
Araq
6ea538cec3
computed goto now works; some progress on the new VM
2013-10-25 13:30:34 +02:00
Araq
90d25919f3
implemented top level asm statements
2013-10-07 06:38:04 +02:00
Araq
f1e789bfc2
fixes #576
2013-09-18 02:58:18 +02:00
Araq
891f871ba7
better support for GNU's assembler
2013-09-03 23:44:31 +02:00
Araq
a8c8a85135
Merge branch 'master' of github.com:Araq/Nimrod
2013-08-22 19:28:58 +02:00