summary refs log tree commit diff stats
path: root/compiler/ccgstmts.nim
Commit message (Collapse)AuthorAgeFilesLines
* Big compiler Cleanup (#14777)Clyybber2020-08-281-1/+1
|
* fixes #15026 [backport] (#15040)Andreas Rumpf2020-07-221-1/+1
| | | no test case since only a special case was affected and the special case got removed
* fixes #14925 (#14947)Andreas Rumpf2020-07-091-0/+4
|
* scoped memory management (#14790)Andreas Rumpf2020-07-041-8/+16
| | | | | | | * fixes the regressions * closes #13936 * scope based memory management implemented * enabled tcontrolflow.nim test case * final cleanups
* fixes #14240 [backport:1.2] (#14757)Andreas Rumpf2020-06-221-8/+9
|
* fix #14369 (#14386)cooldome2020-05-181-0/+1
| | | | | * fix #14369 * empty commit
* fixes #13998 [backport:1.2]Andreas Rumpf2020-05-131-1/+1
|
* fix for asm statement; refs #12650Araq2020-04-201-1/+1
|
* Implements RFCs #209 (#13995)cooldome2020-04-161-24/+7
| | | | | * add test * add changelod entry Co-authored-by: cooldome <ariabushenko@bk.ru>
* fixes #13782 (#13834)Andreas Rumpf2020-04-011-0/+3
|
* Attempt to finish off araq cpp exceptions (#13695)cooldome2020-03-191-8/+173
| | | | | | | | | | | | | | | * config update * disable a questionable test * remove c++ exception handling IDs, new impl doesn't require it anymore * C++ based exceptions finally work * fixes bootstrapping problem in C++ mode * teach GCC it's 2020 now * more bugfixes for C++ based exception handling * apply cooldome's patch * another attempt to enable C++11 * bug fix Co-authored-by: Araq <rumpf_a@web.de> Co-authored-by: cooldome <ariabushenko@bk.ru>
* rewritten goto based exception handling; much cleaner implementation;… ↵Andreas Rumpf2020-03-171-22/+6
| | | | | | (#13677) * rewritten goto based exception handling; much cleaner implementation; fixes #13668
* catchable defects (#13626)Andreas Rumpf2020-03-121-27/+36
| | | | | | | | | | * allow defects to be caught even for --exceptions:goto (WIP) * implemented the new --panics:on|off switch; refs https://github.com/nim-lang/RFCs/issues/180 * new implementation for integer overflow checking * produce a warning if a user-defined exception type inherits from Exception directly * applied Timothee's suggestions; improved the documentation and replace the term 'checked runtime check' by 'panic' * fixes #13627 * don't inherit from Exception directly
* fixes #13599 (#13614)Andreas Rumpf2020-03-091-1/+1
|
* fix #8312 --hints:off and --warnings:off now honored everywhere (#13489)Timothee Cour2020-02-261-1/+1
|
* Fixes #13186 (#13188)slangmgh2020-01-191-2/+4
|
* make case-object transitions explicit, make unknownLineInfo a const, replace ↵Jasper Jenkins2020-01-171-1/+1
| | | | a few magic numbers with consts (#13170)
* fixes #12961 (#13019)Andreas Rumpf2020-01-031-9/+12
|
* --exception:goto switch for deterministic exception handling (#12977)Andreas Rumpf2020-01-011-24/+157
| | | | | This implements "deterministic" exception handling for Nim based on goto instead of setjmp. This means raising an exception is much cheaper than in C++'s table based implementations. Supports hard realtime systems. Default for --gc:arc and the C target because it's generally a good idea and arc is all about deterministic behavior. Note: This implies that fatal runtime traps are not catchable anymore! This needs to be documented.
* fixes #12826Araq2019-12-241-2/+2
|
* Fix #12785 (#12943)RSDuck2019-12-211-0/+4
| | | | | | * Fix #12785 and add test * better variable name
* ARC related bugfixes and refactorings (#12781)Andreas Rumpf2019-12-051-3/+10
|
* better support for PROGMEM like annotations for lets/vars; fixes #12216 (#12799)Andreas Rumpf2019-12-051-12/+26
|
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-174/+165
| | | | | | | | | | | | | | | | | | * Cleanup compiler code base * Unify add calls * Unify len invocations * Unify range operators * Fix oversight * Remove {.procvar.} pragma * initCandidate -> newCandidate where reasonable * Unify safeLen calls
* --gc:destructors now means Nim uses pure refcounting (#12557)Andreas Rumpf2019-10-301-1/+1
|
* refactoring: --newruntime consists of 3 different switchesAraq2019-10-201-4/+4
|
* Fix spellings (#12277) [backport]Federico Ceratto2019-09-271-1/+1
|
* Small ast.nim cleanup (#12156)Clyybber2019-09-091-20/+20
| | | | | * Remove sonsLen * Use Indexable
* allows access to .compileTime vars at runtime (#12128)Andreas Rumpf2019-09-051-11/+12
|
* Remove ENDB (#12095)Clyybber2019-08-311-26/+0
|
* only store finally block in exception stack (#11876)Jacek Sieka2019-08-281-9/+11
|
* fixes #11891Andreas Rumpf2019-08-101-1/+3
|
* int128 on firstOrd, lastOrd and lengthOrd (#11701)Arne Döring2019-08-071-5/+5
| | | | * fixes #11847
* styleCheck: make the compiler and large parts of the stdlib compatible with ↵Araq2019-07-101-1/+1
| | | | --styleCheck:error
* msgs, ccgstmts: fixes #11572 (#11621)alaviss2019-06-301-1/+1
| | | | | | | | | | | | | | | | | | | | | | | * [refactor] msgs: toFilename now return just the filename The C codegen uses just the file name for stacktrace when excessiveStackTrace is off (see quotedName), so there aren't any reason for other codegen to not do the same. The file name is now cached in TFileInfo.shortName, which was introduced for nimsuggest, and went unused after several refactoring of the compiler. A toProjPath() proc has been added for the previous behavior of toFilename(). * ccgstmt: use quotedFilename() for raiseExceptionEx This is the same proc used for stacktrace when --stacktrace:on Fixes #11572 * msgs: handle case where file name is not available
* Warn about object case transitions at compile time (#11378)genotrance2019-06-021-0/+1
|
* fixes #11205Araq2019-05-281-1/+26
|
* Small cleanup (#11185)Andreas Rumpf2019-05-081-10/+10
|\ | | | | | | | | | | | | | | * Remove mStaticTy and mTypeTy * Replace countup(x, y-1) with x ..< y * Replace countup(x, y) with x .. y
| * Replace countup(x, y) with x .. yClyybber2019-05-071-8/+8
| |
| * Replace countup(x, y-1) with x ..< yClyybber2019-05-071-2/+2
| |
* | no 'defers' in my backendAraq2019-05-081-16/+15
| |
* | cleanup (#11192)Jasper Jenkins2019-05-071-2/+0
|/
* Fixes for ptr array deref codegen (#11191)Jasper Jenkins2019-05-071-37/+12
| | | | | * fixes for ptr array derefence codegen * fix comments, make diff nicer
* newruntime: make 'discard new RootObj' workAraq2019-04-261-2/+3
|
* fixes #11082Andreas Rumpf2019-04-231-3/+5
|
* fewer ropes (#11037)Arne Döring2019-04-191-2/+2
|
* Less ropes (#10979)Arne Döring2019-04-111-52/+53
| | | | | * convert ropecg to a macro * fewer intermediate ropes
* newruntime: raising an exception works but currently leaks memory because ↵Araq2019-04-101-0/+2
| | | | currentException global is not an 'owned' ref
* don't emit an implicit try finally when in system.nim in order to prevent ↵Araq2019-04-091-1/+2
| | | | endless recursions in the try handler
* Add OpenMP overload with stepping (#10891)Mamy Ratsimbazafy2019-03-221-5/+15
|