summary refs log tree commit diff stats
path: root/compiler/cgen.nim
Commit message (Collapse)AuthorAgeFilesLines
* nest PreMain inside NimMain for easier consumption of static libraries ↵Zahary Karadjov2014-01-231-57/+67
| | | | | | developed in Nimrod fixes many uses of $N instead of $n for new lines that don't affect #line directives
* 'nil' as a statement is deprecated, use an empty 'discard' insteadAraq2014-01-191-2/+2
|
* it's the year 2014Araq2014-01-191-4/+4
|
* Introduce a PreMain proc in the C codegenZahary Karadjov2013-12-301-38/+60
| | | | | | | | The rationale here is that it has become too hard to step into a program when #line directives are enabled. You have to skip over many lines of init code that doesn't have corresponding lines in the nimrod program. Now, you can just step-out of PreMain and go straight to the useful code in NimMain.
* Merge branch 'upstream' into develZahary Karadjov2013-12-291-2/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: compiler/ccgutils.nim compiler/msgs.nim compiler/sem.nim compiler/semexprs.nim compiler/seminst.nim compiler/semmagic.nim compiler/semstmts.nim compiler/semtypes.nim compiler/semtypinst.nim compiler/sigmatch.nim compiler/types.nim compiler/vmgen.nim lib/core/macros.nim lib/system.nim tests/reject/tenummix.nim web/news.txt
| * static params: expr[T] is now static[T]Zahary Karadjov2013-12-191-2/+2
| | | | | | | | | | | | | | This introduces tyStatic and successfully bootstraps and handles few simple test cases. Static params within macros are no longer treated as PNimrodNodes - they are now equivalent to constants of the designated type.
* | case consistency: cs:partial bootstraps on windowsAraq2013-12-291-22/+22
| |
* | case consistency: next stepsAraq2013-12-291-7/+7
| |
* | case consistency part 4Araq2013-12-271-34/+34
| |
* | case consistency part 1Araq2013-12-271-4/+4
| |
* | no stack tracing for the system module; fixes stack bottom detectionAraq2013-12-201-5/+13
| |
* | implemented 'injectStmt'; more debug supportAraq2013-12-161-0/+3
|/
* fix computed dynlib names; fixes #718Zahary Karadjov2013-12-091-1/+1
|
* don't use memset for temps unless necessaryAraq2013-12-031-7/+10
|
* fixes a regression where memset was used without including <string.h>Araq2013-12-031-0/+8
|
* 'noStackFrame' implies 'naked' in the generated C codeAraq2013-10-061-3/+9
|
* the compiler can now deal with multiple modules of the same nameAraq2013-09-261-6/+9
|
* support for multiple modules of the same name; niminst supports 'platforms'; ↵Araq2013-09-241-1/+1
| | | | minor bugfixes
* fixes #575Araq2013-09-101-7/+1
|
* hacky fix for generic constraints matchingZahary Karadjov2013-08-191-2/+2
|
* work-in-progress for compiling generics in their owner moduleZahary Karadjov2013-08-191-1/+11
|
* Revert "Revert "bugfix: emulated thread vars used in combination with the ↵Zahary Karadjov2013-08-191-0/+3
| | | | | | mark & sweep GC"" This reverts commit 75c586bbe1cc649b36fc00362ab40ebb1d163d9f.
* implements the 'codegenDecl' pragmaAraq2013-06-271-11/+20
|
* fixes #466Araq2013-06-061-1/+1
|
* better error message for subtle nil errorsAraq2013-05-311-0/+2
|
* Revert "bugfix: emulated thread vars used in combination with the mark & ↵Araq2013-05-271-3/+0
| | | | | | sweep GC" This reverts commit 420789c2782be7b969ad02448841d90bd0d17a1f.
* bugfix: emulated thread vars used in combination with the mark & sweep GCZahary Karadjov2013-05-261-0/+3
| | | | resulted in invalid code generation
* fixes #420Araq2013-05-191-2/+7
|
* added a ``noforward`` pragma that enables a new compilation strategyZahary Karadjov2013-05-111-1/+3
| | | | not requiring forward declarations on a per-module basis
* Merge branch 'master' into newparserAraq2013-05-071-17/+17
|\
| * fix compiling after suggestZahary Karadjov2013-05-051-17/+17
| |
* | bugfixesAraq2013-05-041-0/+1
| |
* | completed expr/stmt unificationAraq2013-05-031-1/+13
|/
* implements #258; activate via --verbosity:2Araq2013-04-131-0/+2
|
* bugfix: fix linking when symbol files are usedZahary Karadjov2013-04-081-3/+2
|
* Removes executable bit for text files.Grzegorz Adam Hankiewicz2013-03-161-0/+0
|
* debugger improvementsAraq2013-03-161-0/+8
|
* documented object constrs; endb works againAraq2013-03-091-12/+14
|
* merged upstream masterZahary Karadjov2013-01-271-13/+0
|\
| * first steps for FFI support at compile timeAraq2012-12-191-11/+0
| |
| * fixes #277; documentation improvementsAraq2012-12-171-2/+0
| |
* | cleaned up some debugging codeZahary Karadjov2013-01-201-13/+11
| |
* | adds an option to interleave the generated code with snippets from the ↵Zahary Karadjov2012-12-021-40/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | original source Lines from the original source are outputted as comments next to line directives. Hopefully, this will make debugging codegen problems easier. Other changes: The frame setup code now uses a single-line C macro. My motivation was to reduce the noise in the generated output and make it easier to step over the boiler-plate code, but counter-intuitively this also improved the overall compilation speed a little bit so I applied the same treatment to line tracking too (this reduces the size of the generated files and the explanation is that probably the I/O overhead dominates the macro expansion costs).
* | disables the compile-time rope formatting during bootstrappingZahary Karadjov2012-11-281-90/+101
| |
* | first batch of rope code converted to `rfmt`Zahary Karadjov2012-11-281-14/+14
| | | | | | | | | | | | The results so far are inconclusive: The rope cache tries have been reduced by more than 125K (nearly 20%), but the bootstrap time seems to be ever slightly increasing (0.01s).
* | experimental compile-time rope formatting codeZahary Karadjov2012-11-281-2/+74
| |
* | [caas] first version that actually works (still has a lot of logical memory ↵Zahary Karadjov2012-11-281-19/+89
| | | | | | | | leaks on recompilation)
* | CaaS in-memory cachingZahary Karadjov2012-11-281-13/+21
| | | | | | | | | | removed some redundant filepath params and variables and switched to canonical paths in most places
* | caas is now drivable through stdinZahary Karadjov2012-11-281-7/+1
|/ | | | | * added idetools --eval * streams.readLine recognises and applies the backspace character
* bugfix: stack traces; first class iterators almost workingAraq2012-11-151-1/+1
|