summary refs log tree commit diff stats
path: root/compiler/cgen.nim
Commit message (Collapse)AuthorAgeFilesLines
* Fixes 8535 (#8591)LemonBoy2018-08-171-14/+20
| | | | | | | | | | | | | | | | | | | * Goodbye postInitProc * Give preInitProc its own scope Avoid any conflict between the variables introduced by preInitProc and initProc since both are codegen'd in the same function body. * Fix codegen for global var init in emulated TLS Fixes #8535 * Add test for #8535 * Keep a bogus stack frame around * Remove more dead code
* Fix #8345 (#8350)Aaron Levine2018-07-181-0/+1
|
* Don't depend on string.h in codegen (#8299)Yuriy Glukhov2018-07-131-10/+3
|
* Generate dynlib strings as a single rope (#8247)LemonBoy2018-07-081-1/+3
| | | | | | In order not to trip the optimization in genInfixCall we have to do so. The same trick is also used in setExternName. Fixes #8241
* codgen refactoring: prepare for alternative string/seq implementationsAndreas Rumpf2018-06-291-3/+6
|
* Don't consider concept types as non-complex during codegen (#8119)LemonBoy2018-06-271-1/+1
| | | Fixes #7125
* Fixes #6803Yuriy Glukhov2018-06-111-13/+8
|
* fixes merge conflictAndreas Rumpf2018-06-111-2/+8
|\
| * Native access to Genode environmentEmery Hemingway2018-06-071-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a 'GenodeEnv' type and a 'componentConstructHook' to the system module. The 'componentConstructHook' allows for detection of POSIX style programs that exit implicitly or native Genode components that initialize to serve RPC requests and OS signals. This hook takes a 'GenodeEnv' argument so that the environment interface is passed cleanly to application code after globals are initialized. This is an typed pointer to a C++ object, procedures for accessing the environment will be available from a Nimble library and not included in the standard library. The standard library has an internal pointer to the environment object but this is not for external use, the undocumented global environment pointer has been removed.
* | fixed merge conflictAndreas Rumpf2018-06-041-1/+1
|\|
| * Support multi byte characters in module names (#7916)Oscar Nihlgård2018-05-311-1/+1
| |
* | incremental compilation: implemented basic replay logicAndreas Rumpf2018-06-021-7/+8
| |
* | baby steps for incremental compilationAndreas Rumpf2018-05-301-10/+7
| |
* | remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-4/+4
| |
* | Merge branch 'devel' into araq-big-refactoringAndreas Rumpf2018-05-211-4/+4
|\|
| * Allow better optimisations by removing NOINLINE from module init procsYuriy Glukhov2018-05-161-4/+4
| |
* | platform.nim doesn't use globals anymore; prepare msgs.nim for not using globalsAndreas Rumpf2018-05-181-43/+44
| |
* | compiler/ropes.nim has no global error handler anymoreAndreas Rumpf2018-05-171-6/+12
| |
* | preparations of making compiler/msgs.nim free of global variablesAndreas Rumpf2018-05-171-10/+10
| |
* | extccomp: no globals anymoreAraq2018-05-161-6/+6
|/
* options.nim: no global variables anymoreAndreas Rumpf2018-05-131-51/+51
|
* move more globals into the config objectAndreas Rumpf2018-05-131-3/+3
|
* C code generator compiles againAndreas Rumpf2018-05-121-53/+57
|
* sem pass compiles againAndreas Rumpf2018-05-121-6/+4
|
* fixes #7743Andreas Rumpf2018-05-061-1/+1
|
* Disable setTerminate when noCppExceptions is defined (#7751)Emery Hemingway2018-05-041-1/+1
|
* remove dead code elimination option (#7669)Jacek Sieka2018-04-231-4/+0
|
* refactoring: make FileIndex a distinct type; make line information an ↵Andreas Rumpf2018-04-211-6/+6
| | | | uint16; fixes #7654
* Nim namespace for cpp (#7453)AdrianV2018-04-151-0/+15
| | | | | - new option --usenamespace to generate nim cpp code in its own namespace Nim - minor changes for compatibility with the new Embarcadero = Borland C++-Builder (bcc)
* Cleanups 20180401 (#7458)Jacek Sieka2018-04-121-4/+1
|
* C codegen: preparations for different seq and string implementationsAndreas Rumpf2018-04-031-5/+12
|
* make 'memset' calls more robust; refs #7341Andreas Rumpf2018-03-161-1/+1
|
* fixes #7332 (#7341)andri lim2018-03-161-1/+3
|
* genTryCpp to catch by Nim type, ready for first review (#7196)cooldome2018-02-121-0/+5
| | | | | | | | | | | | | | | | * Rewrite genTryCpp * correction * Implement polymorphic raise in cpp * revert backticks in emit * Cleanp a comment * revert test changes * better handling of <new> header
* fixes #6960Andreas Rumpf2018-02-111-0/+1
|
* move new sha1 module into the new 'std' namespaceAndreas Rumpf2018-02-061-1/+1
|
* fixes #6961Andreas Rumpf2018-02-021-1/+1
|
* fixes #7129Andreas Rumpf2018-01-301-1/+0
|
* symbol files: introduce more switches for debuggingAndreas Rumpf2018-01-071-1/+0
|
* symbol files: do not regenerate method dispatchers for nowAndreas Rumpf2018-01-041-0/+4
|
* symbol files: fixes the logic for multi-methodsAraq2018-01-031-4/+4
|
* first steps in adding template/macro calls to stack tracesAraq2017-12-211-15/+27
|
* Do not include date in binaries (#6581)Bernhard M. Wiedemann2017-11-181-3/+4
| | | | | | and do not claim copyright for 2018 in order to make nim package builds reproducible. See https://reproducible-builds.org/ for why this is good.
* Fix incorrect signature for nimLoadProcs when using cpp backend (#6699)Kartik Saranathan2017-11-071-1/+1
|
* deprecated unary '<'Andreas Rumpf2017-10-291-1/+1
|
* backend preparations for incomplete/forwarded object typesAndreas Rumpf2017-10-281-5/+5
|
* No implicit quit for Genode (#6515)Emery Hemingway2017-10-251-2/+1
|
* fixes a codegen bug: in 'result = f(result)' the default initialization for ↵Andreas Rumpf2017-10-091-1/+8
| | | | 'result' IS required
* first implementation of the 'func' keywordAndreas Rumpf2017-09-231-1/+1
|
* refactoring: TLoc knows the node it originated from; it is planned to use ↵Andreas Rumpf2017-09-211-38/+53
| | | | this to produce better C code (move optimizations)