Commit graph

246 commits

Author SHA1 Message Date
Andreas Rumpf
d651012688 template+emit supports volatileRead and volatileWrite ops 2017-01-23 11:22:19 +01:00
Araq
24239c2361 Merge branch 'devel' into sighashes 2016-12-17 23:04:34 +01:00
Andreas Rumpf
b013430929 reworked emit pragma; fixes #4730 2016-12-17 14:20:57 +01:00
Araq
ba38b83dd5 refactoring: C codegen with fewer global variables 2016-12-05 12:14:24 +01:00
Araq
1c20046f28 sighashes: make more tests green 2016-11-29 10:37:32 +01:00
Araq
3b43cff0f8 C codegen: first version of signature hashing for better incremental builds 2016-11-08 08:37:11 +01:00
Andreas Rumpf
08a6f3fc67 fixes #4721 2016-09-07 08:29:45 +02:00
Andreas Rumpf
dfa0699e73 C++ backend: use .noInit pragma for non-public default constructors; refs #4687 2016-09-04 22:36:29 +02:00
Andreas Rumpf
10f445da89 Merge pull request #4592 from arnetheduck/compiler-cleanup
Compiler cleanup
2016-08-25 16:50:54 +02:00
andri lim
21120a3e6c fixed #4459 -- VS2010 error C2275 2016-08-13 20:26:25 +07:00
Jacek Sieka
3cd4cf4320 remove unused stuff 2016-08-09 22:54:27 +08:00
Jacek Sieka
7d62f031f6 remove sfFakeConst 2016-07-30 16:19:53 +08:00
Andreas Rumpf
60b187513e stdlib and compiler don't use .immediate anymore 2016-07-29 23:51:01 +02:00
Andreas Rumpf
4b0ba5e3f1 C code generation now deterministic; fixes #4364 2016-06-22 02:50:50 +02:00
Ruslan Mustakov
a648d06ba8 Fixed rethrowing not to generate C++ throw with noCppExceptions switch 2016-06-14 13:05:28 +06:00
Andreas Rumpf
d8bce8b83d GC with primitive MS 2016-05-16 00:28:00 +02:00
Andreas Rumpf
1ae95310ad fixes #3992 2016-05-11 21:34:54 +02:00
Ruslan Mustakov
040d4864a4 Fixed try statement generation with --noCppExceptions switch 2016-02-29 21:09:19 +06:00
Andreas Rumpf
dfe01bbe69 fixes #603 2016-01-06 02:29:27 +01:00
Andreas Rumpf
c1627354d1 first implementation of the new lambda-lifting pass; barely anything works 2015-12-26 00:42:30 +01:00
Araq
6361f6b76d --gc:v2 requires global root tracking 2015-12-01 00:53:30 +01:00
Yuriy Glukhov
c42b05adb4 Fixed --debugger:on option. Removed c_line from termios. 2015-08-12 12:04:26 +03:00
Araq
862ee8d1d3 fixes #2963 2015-07-22 01:21:42 +02:00
Araq
ace9299a32 added /*INCLUDESECTION*/ section for .emit pragma 2015-06-29 02:48:30 +02:00
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