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