summary refs log tree commit diff stats
path: root/compiler/ccgexprs.nim
Commit message (Collapse)AuthorAgeFilesLines
* Merge pull request #9881 from timotheecour/pr_ref_9880Andreas Rumpf2018-12-111-6/+6
|\ | | | | refs #9880 show index and bound in lots of `index out of bounds` errors
| * refs #9880 show index and bound in lots of `index out of bounds` errorsTimothee Cour2018-12-091-6/+6
| |
* | daily cruft removalJacek Sieka2018-12-081-4/+0
|/
* fixes #9864 [backport]Araq2018-12-051-5/+15
|
* More dead code (#9835)Jacek Sieka2018-12-041-11/+11
| | | | | | * remove more assignment flags * needsComplexAssignment > containsGarbageCollectedRef * remove OnStackShadowDup
* gc:destructors further progressAndreas Rumpf2018-11-291-5/+19
|
* fixes #9675Andreas Rumpf2018-11-261-0/+1
|
* Remove dead code (#9777)Jacek Sieka2018-11-261-7/+2
| | | | | | | | | * gc/gc2: remove unused ref counting stuff * also removes some false threading support - hasSharedHeap is always false in gc/gc2 * gc: remove some threading cruft * remove asgnRefNoCycle * compiler: remove TLoc.dup (unused)
* compiler: remove unused assignment flags (#9760)Jacek Sieka2018-11-211-18/+3
|
* Fixes discard bug in cpp codegen (#9747) [backport]cooldome2018-11-191-9/+2
| | | Fixes discard bug in cpp codegen
* --gc:destructors: hello world example compiles and runsAraq2018-11-161-0/+10
|
* make Nim take roughly 100MB less RAM for bootstrapping via a new compiler ↵Andreas Rumpf2018-11-071-2/+5
| | | | switch -d:leanCompiler; useful for the Raberry PI
* language cleanup: the .unchecked pragma is deadAraq2018-11-061-6/+5
|
* make tmissingbracket compile for C++; refs #7870Araq2018-10-301-1/+1
|
* Don't crash if GC_{un,}ref is called on nil (#9445)LemonBoy2018-10-221-2/+2
| | | Fixes #9442
* gogc: GCC-8.2.0 compatibility and other improvements (#9211)Ștefan Talpalaru2018-10-111-8/+19
| | | | | | | | - Go's write barriers are now plugged-in in all the relevant points - "gcGo" is correctly classified by usesWriteBarrier() - some gogc structures and functions now use golib wrappers to keep GCC version-specific conditions out of the compiler/stdlib code - we no longer allow mixing the C malloc with Go's - fix a problem with string copying
* fixes #9281Araq2018-10-111-2/+16
|
* Unchecked arrays now have their own type (#9267)LemonBoy2018-10-101-0/+10
|
* fixes #5015Araq2018-10-031-2/+4
|
* fixes #7092Araq2018-10-021-1/+1
|
* C++ codegen: emit correctly typed code for closures in 'const'; refs #7870Araq2018-10-021-3/+9
|
* Fix codegen for some set operationsLemonBoy2018-09-281-1/+1
| | | | | | | Taking the LHS type when a temporary result value was needed lead to bad code being generated if we get a tyRef. Fixes #9098
* C codegen: support system.move and system.wasMovedAndreas Rumpf2018-09-241-0/+19
|
* Merge pull request #8746 from LemonBoy/nil-optsAndreas Rumpf2018-09-231-3/+7
|\ | | | | nil strings are movable
| * nil strings are movableLemonBoy2018-09-221-3/+7
| |
* | Fix codegen for set[T] parametersLemonBoy2018-09-151-1/+2
|/ | | | | | | | Sometimes sets are materialized as arrays and we must treat them as such: the CPP backend is pickier than the C one and would sometimes produce invalid code. Fixes #8967
* even more strict isNil handling for strings/seqs in order to detect bugsAraq2018-08-221-3/+2
|
* some progress on destructors for builtin seqsAndreas Rumpf2018-08-201-1/+2
|
* fixes merge conflictAndreas Rumpf2018-08-191-14/+23
|\
| * exploit the fact that empty seqs don't have to allocate in the code generatorAndreas Rumpf2018-08-181-7/+14
| |
| * Genode fixes (#8501)Emery Hemingway2018-08-161-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | * Genode fixes - wrap strings in "Genode::Cstring" when logging - define SIGABRT for Genode - disable GCC -fstack-protector - use log RPC for fatal messages - add --os:genode build to appveyor - define paramStr and paramCount * Select fixups for Genode POSIX
| * WIP: disallow 'nil' for strings and seqsAndreas Rumpf2018-08-131-1/+2
| |
| * codegen improvement: map the empty string to 'nil' since it's now allowed to ↵Araq2018-08-081-3/+3
| | | | | | | | do that
| * fixes #6255, add `system.ashr` arithmetic right shift (#8547)andri lim2018-08-071-1/+1
| |
| * fixes 7833 (#8533)Andreas Rumpf2018-08-051-16/+36
| | | | | | | | | | | | | | | | | | | | | | * fixes #7833; still to-do: fix setLen * make tests green again * also fixes setLen and string concats; refs #7833 * change formating to avoid a compiler warning * emit the write barrier also for addChar * fixes yet another regression * make setLengthStr compile for the old version * make growobjcrash complete earlier
* | make at least bootstrapping workAraq2018-08-051-16/+35
|\ \
| * | emit the write barrier also for addCharAraq2018-08-041-1/+7
| | |
| * | also fixes setLen and string concats; refs #7833Araq2018-07-311-8/+19
| | |
| * | fixes #7833; still to-do: fix setLenAraq2018-07-301-7/+10
| |/
* | --gc:destructors: next steps; WIPAndreas Rumpf2018-07-211-21/+23
| |
* | fix merge conflictAndreas Rumpf2018-07-181-24/+15
|\|
| * Don't depend on string.h in codegen (#8299)Yuriy Glukhov2018-07-131-21/+13
| |
* | WIP: strings/seqs based on destructorsAndreas Rumpf2018-07-171-4/+16
| |
* | more progress on destructor based stringsAndreas Rumpf2018-07-131-21/+53
| |
* | system.substr is not implemented with compilerProcs anymoreAndreas Rumpf2018-07-111-2/+3
| |
* | refactorings in preparations for the new runtimeAndreas Rumpf2018-07-101-5/+5
|/
* make tmemfile2 work againAraq2018-07-061-0/+1
|
* turn destructors into finalizersAndreas Rumpf2018-07-051-3/+15
|
* Merge branch 'devel' into araq-develAndreas Rumpf2018-07-011-13/+17
|\
| * Fix codegen for mInSet magic and empty sets (#8140)LemonBoy2018-06-291-13/+17
| | | | | | Fixes #8041