summary refs log tree commit diff stats
path: root/compiler/cgen.nim
Commit message (Collapse)AuthorAgeFilesLines
* first attempt to fix 'a[i]' handling in genericsAraq2015-09-121-1/+1
|
* fixes a critical codegen bug triggered by .asyncAraq2015-09-101-1/+1
|
* Fixed --debugger:on option. Removed c_line from termios.Yuriy Glukhov2015-08-121-5/+4
|
* gc:none works againAraq2015-07-261-1/+1
|
* fixes #3134Araq2015-07-181-4/+4
|
* Turn loadDynamicLib msg into hintDependencyAdam Strzelecki2015-07-031-2/+1
|
* .header pragma now supports preprocessor directivesAraq2015-07-011-4/+6
|
* securehash: Keep module name consistentAdam Strzelecki2015-06-091-1/+1
| | | | | | 1. All other modules don't use underscore, why this should be different? 2. Wrap some imports to 80 column
* Merge pull request #2780 from flaviut/cleanup-crcAndreas Rumpf2015-06-091-6/+5
|\ | | | | Use SHA1 instead of CRC
| * Rename crc module to "secure_hash"Flaviu Tamas2015-05-231-6/+5
| |
* | fixes 'noreturn' regression for Visual C++Araq2015-06-061-0/+2
|/
* Implicitly assume compilers to know naked and noreturn attributesdef2015-05-071-4/+4
|
* Distinguish only between __declspec and __attribute__def2015-05-051-4/+4
|
* Pass noReturn pragma to C code.def2015-05-051-0/+5
| | | | | | With GCC and Clang this generates __attribute__((noreturn)) in the function declaration. (both tested) With VCC __declspec(noreturn) is used.
* Merge pull request #2426 from def-/fix-1460Andreas Rumpf2015-04-091-1/+1
|\ | | | | Fix #1460
| * Initialize c compiler variables later ...def2015-03-281-1/+1
| | | | | | | | | | | | ... so that symbols such as "cpp" are defined Fixes #1460
* | Get rid of deprecation warningsdef2015-04-071-233/+235
| |
* | compiler_ropes: ropeToStr -> $Jacek Sieka2015-04-011-8/+5
|/
* codegen doesn't produce line tracing commands anymore; fixes #1344Araq2015-03-211-5/+14
|
* 'constructor' pragma for C++ supportAraq2015-03-181-11/+1
|
* don't generate memset calls for C++ objectsAraq2015-03-181-162/+166
|
* Fix typosFederico Ceratto2015-02-151-1/+1
|
* compiler distinguishes between 2 different 'var' types for C++ interop; code ↵Araq2015-02-071-67/+22
| | | | cleanups
* lots of C++ codegen improvementsAraq2015-02-071-90/+10
|
* C++ support: codegen generates C++'s references and avoids copiesAraq2015-02-041-14/+20
|
* preparations for C++ template supportAraq2015-01-231-2/+2
|
* Happy new year!Guillaume Gelin2015-01-061-4/+4
|
* fixes #1539Araq2014-11-271-3/+1
|
* more robust against unknown line infoAraq2014-11-221-1/+1
|
* fixes #837Araq2014-11-211-1/+1
|
* fixes #1181Araq2014-11-131-2/+0
|
* proper fix for stack initialization and threadvar emulationAraq2014-11-111-2/+7
|
* Properly initialize the stack with emulated thread variables.Reimer Behrends2014-11-061-2/+1
|
* Merge branch 'devel' of https://github.com/Araq/Nimrod into bigbreakAraq2014-10-041-1/+1
|\ | | | | | | | | | | | | Conflicts: lib/impure/db_postgres.nim lib/pure/os.nim lib/wrappers/postgres.nim
| * Improve setjmp()/longjmp() performance.Reimer Behrends2014-09-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
* | implemented mixed mode codegenAraq2014-10-031-26/+40
| |
* | implemented 'guard' annotationAraq2014-09-211-4/+4
| |
* | added nimfix toolAraq2014-09-051-3/+3
| |
* | Nimrod renamed to NimAraq2014-08-281-4/+4
| |
* | big renameAraq2014-08-281-1/+1
|/
* Merge pull request #1481 from rbehrends/fix-stackscan2Andreas Rumpf2014-08-141-7/+15
|\ | | | | Fix stack bottom initialization for non-main modules.
| * Fix stack bottom initialization for non-main modules.Reimer Behrends2014-08-141-7/+15
| | | | | | | | | | | | | | 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.
* | Merge branch 'devel' of https://github.com/Araq/Nimrod into develAraq2014-08-141-1/+1
|\|
| * Fixed stack bottom initialization for DLLs.Reimer Behrends2014-08-141-1/+1
| |
* | Merge branch 'devel' of https://github.com/Araq/Nimrod into develAraq2014-08-141-8/+17
|\|
| * Merge pull request #1400 from rbehrends/fix-stackscanAndreas Rumpf2014-08-131-8/+17
| |\ | | | | | | More robust implementation for finding the beginning of the stack.
| | * More robust implementation for finding the beginning of the stack.Reimer Behrends2014-07-231-8/+17
| | | | | | | | | | | | | | | | | | This patch inserts an extra stack frame above the function that calls the actual Nimrod code and ensures that a reference to this frame is stored as the stack bottom.
* | | fixes #1434Araq2014-08-141-2/+2
|/ /
* / progress on deepCopyAraq2014-08-011-1/+1
|/
* Fix generation of package-dependent init names.Reimer Behrends2014-06-251-0/+1
| | | | | | | | | | | The code incorrectly used relative instead of absolute paths to see if *.babel files could be found, which could result in them not being located properly. Also added an underscore between the package and the module name for package_moduleInit() and package_moduleDatInit() so that there won't be spurious conflicts, e.g. for package A and module BC vs. package AB and module C.