Andreas Rumpf
af1e941872
fixes #2259 , fixes #1389
2016-06-02 18:12:11 +02:00
Andreas Rumpf
3ac6bd8ae1
refactoring: flags instead of bools
2016-05-18 12:40:01 +02:00
Andreas Rumpf
685b8963da
fixes #4110
2016-05-11 21:16:26 +02:00
Andreas Rumpf
11d0f3f7ec
fixes #4034
2016-05-11 20:50:03 +02:00
Araq
f0c19e9e67
fixes a critical codegen bug that keeps PR #4017 from working
2016-03-31 02:11:22 +02:00
Andreas Rumpf
c1627354d1
first implementation of the new lambda-lifting pass; barely anything works
2015-12-26 00:42:30 +01:00
Araq
8ef66b973d
first attempt to fix 'a[i]' handling in generics
2015-09-12 10:55:28 +02:00
Araq
ffe51966b9
fixes a critical codegen bug triggered by .async
2015-09-10 10:50:29 +02:00
Yuriy Glukhov
c42b05adb4
Fixed --debugger:on option. Removed c_line from termios.
2015-08-12 12:04:26 +03:00
Araq
54fdeb4f76
gc:none works again
2015-07-26 22:03:52 +02:00
Araq
6b00160938
fixes #3134
2015-07-18 17:48:01 +02:00
Adam Strzelecki
00366cb8d4
Turn loadDynamicLib msg into hintDependency
2015-07-03 14:05:00 +02:00
Araq
54a374a828
.header pragma now supports preprocessor directives
2015-07-01 02:15:21 +02:00
Adam Strzelecki
3d266433a7
securehash: Keep module name consistent
...
1. All other modules don't use underscore, why this should be different?
2. Wrap some imports to 80 column
2015-06-09 22:20:05 +02:00
Andreas Rumpf
25a1987517
Merge pull request #2780 from flaviut/cleanup-crc
...
Use SHA1 instead of CRC
2015-06-09 15:10:21 +02:00
Araq
706080dcbd
fixes 'noreturn' regression for Visual C++
2015-06-06 11:59:34 +02:00
Flaviu Tamas
4873db4c72
Rename crc module to "secure_hash"
2015-05-23 13:17:19 -04:00
def
4a2a0894ae
Implicitly assume compilers to know naked and noreturn attributes
2015-05-07 22:31:45 +02:00
def
78c26cbf18
Distinguish only between __declspec and __attribute__
2015-05-05 20:35:43 +02:00
def
a9fe618756
Pass noReturn pragma to C code.
...
With GCC and Clang this generates __attribute__((noreturn)) in the
function declaration. (both tested) With VCC __declspec(noreturn) is
used.
2015-05-05 00:02:09 +02:00
Andreas Rumpf
cb1c621a05
Merge pull request #2426 from def-/fix-1460
...
Fix #1460
2015-04-09 09:36:18 +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
def
07351d5f37
Initialize c compiler variables later ...
...
... so that symbols such as "cpp" are defined
Fixes #1460
2015-03-28 15:07:55 +01: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
Federico Ceratto
657dca5c3b
Fix typos
2015-02-15 16:20:32 +00:00
Araq
74c6c8c903
compiler distinguishes between 2 different 'var' types for C++ interop; code cleanups
2015-02-07 10:48:07 +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
6004280522
preparations for C++ template support
2015-01-23 00:36:58 +01:00
Guillaume Gelin
3119fe087d
Happy new year!
2015-01-06 15:26:33 +01:00
Araq
c2b223688d
fixes #1539
2014-11-27 09:41:36 +01:00
Araq
83c655266d
more robust against unknown line info
2014-11-22 23:09:50 +01:00
Araq
326bdae8ca
fixes #837
2014-11-21 02:26:49 +01:00
Araq
37cc9b2226
fixes #1181
2014-11-13 19:07:27 +01:00
Araq
af84f754b0
proper fix for stack initialization and threadvar emulation
2014-11-11 09:55:31 +01:00
Reimer Behrends
ead00d2328
Properly initialize the stack with emulated thread variables.
2014-11-06 02:09:51 +01: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
Araq
bf557a7cdb
added nimfix tool
2014-09-05 01:16:48 +02:00
Araq
2781fea9e2
Nimrod renamed to Nim
2014-08-28 09:38:14 +02:00
Araq
df172806ea
big rename
2014-08-28 00:24:52 +02:00
Andreas Rumpf
d8f6a2adcb
Merge pull request #1481 from rbehrends/fix-stackscan2
...
Fix stack bottom initialization for non-main modules.
2014-08-14 09:16:26 +02:00
Reimer Behrends
d59b9a2168
Fix stack bottom initialization for non-main modules.
...
Because PreMain() was now called before the new stack bottom
initialization, it still relied on the old version of initStackBottom(),
which may not handle the top few words of the stack correctly. This
patch also sets the stack bottom in PreMain() using the new approach.
2014-08-14 03:09:39 +02:00
Araq
c812a616b2
Merge branch 'devel' of https://github.com/Araq/Nimrod into devel
2014-08-14 02:44:53 +02:00
Reimer Behrends
a772105e7d
Fixed stack bottom initialization for DLLs.
2014-08-14 02:10:28 +02:00