summary refs log tree commit diff stats
path: root/compiler/ccgutils.nim
Commit message (Collapse)AuthorAgeFilesLines
* Cosmetic compiler cleanup (#12718)Clyybber2019-11-281-8/+8
| | | | | | | | | | | | | | | | | | * 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
* [refactoring] remove unused imports in the compiler and in some stdlib modulesAraq2019-07-181-1/+1
|
* right shift is now by default sign preserving (#11322)Arne Döring2019-05-291-17/+17
| | | | | | | | | | | * right shift is now by default sign preserving * fix hashString and semfold * enable arithmetic shift right globally for CI * fix typo * remove xxx * use oldShiftRight as flag * apply feedback * add changelog entry
* Replace countup(x, y-1) with x ..< yClyybber2019-05-071-2/+2
|
* name mangling: also special case the backslash characterAraq2018-09-171-0/+1
|
* remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-1/+1
|
* platform.nim doesn't use globals anymore; prepare msgs.nim for not using globalsAndreas Rumpf2018-05-181-2/+2
|
* ccgutils: code cleanup, no globalsAraq2018-05-161-108/+1
|
* C code generator compiles againAndreas Rumpf2018-05-121-1/+1
|
* remove dead code elimination option (#7669)Jacek Sieka2018-04-231-4/+0
|
* preparations for language extensions: 'sink' and 'lent' typesAndreas Rumpf2018-01-071-2/+2
|
* deprecated unary '<'Andreas Rumpf2017-10-291-2/+2
|
* first steps of making 'opt' a first class type for NimAndreas Rumpf2017-09-251-1/+1
|
* some work to make 'opt' a first class typeAndreas Rumpf2017-09-241-2/+2
|
* a few tiny cleanups (#5712)Jacek Sieka2017-05-291-16/+4
| | | exposes emitLazily (for nlvm) and simplifies some conditionals
* Ascii character code 127 (DEL) is not printable.Markus F.X.J. Oberhumer2017-05-161-1/+1
|
* introduce tyInferred for the unbound concept type paramsZahary Karadjov2017-03-241-1/+1
| | | | | | | | | | | | | | | | | | * Why is tyInferred needed? The bindings in TCandidate are capable of inferring types within a single call expression. In concepts, we need to infer types in the same way, but across the whole body of the concept. Previously, once a concept type param was inferred, it was destructively mutated using t.assignType, but this proved to be problematic in the presence of overloads, because the bindings established while a non-matching overload is tested must be reverted/forgotten. tyInferred offers a non-destructive way to keep track of the inference progress. While introducing new types usually requires a lot of code paths in the compiler to updated, currently tyInferred is only a short-lived type within the concept body pass and it's unlikely to introduce breakage elsewhere in the compiler.
* support for accessing the inferred concept type params with the dot operatorZahary Karadjov2017-03-241-0/+2
|
* Fixes #5452Yuriy Glukhov2017-02-281-1/+1
|
* fixes a minor codegen issue where name mangling could produce an identifier ↵Araq2017-02-261-1/+1
| | | | used by the codegen; refs #5437
* removed compiler internal list implementation (#5371)Arne Döring2017-02-221-1/+1
|
* name mangling bugfixes; ndi file generation for debugger supportAndreas Rumpf2017-02-031-4/+8
|
* new name mangling rules for easier debuggingAndreas Rumpf2017-02-021-14/+32
|
* removed tyArrayConstr completely from the compiler; introduced tyAlias ↵Araq2016-11-141-2/+2
| | | | instead in preparation for further bugfixes
* signature hashing: more progressAraq2016-11-111-75/+65
|
* clean up tyMutable remnantsJacek Sieka2016-10-241-2/+2
|
* clean up tyConst remnantsJacek Sieka2016-10-241-2/+2
|
* clean up tyBigNum remnantsJacek Sieka2016-10-241-2/+2
|
* remove remnants of tyIterJacek Sieka2016-10-241-1/+2
|
* get rid of deprecated toLower/toUpperAndreas Rumpf2016-07-191-1/+1
|
* fixes #4371Andreas Rumpf2016-07-081-1/+1
|
* fixes #3329Araq2015-09-181-1/+4
|
* fixes #2551; fixes #2212; breaks bootstrapping in debug mode; bootstrap with ↵Araq2015-04-251-1/+1
| | | | -d:release
* Get rid of deprecation warningsdef2015-04-071-3/+3
|
* prevent name mangling for C++ DLLsAraq2015-03-051-29/+29
|
* test tsets2.nim compiles againAraq2015-03-011-3/+3
|
* fixes #2199, fixes #2197Araq2015-02-241-22/+26
|
* Fix typosFederico Ceratto2015-02-151-1/+1
|
* preparations for C++ template supportAraq2015-01-231-4/+2
|
* implemented mixed mode codegenAraq2014-10-031-1/+1
|
* Nimrod renamed to NimAraq2014-08-281-1/+1
|
* renamefestAraq2014-08-231-1/+1
|
* fixes #1143Araq2014-08-191-1/+5
|
* progress on deepCopyAraq2014-08-011-2/+4
|
* Document manglingflaviut2014-05-261-0/+3
|
* Make codegen for `1` and similar validflaviut2014-05-161-0/+21
|
* handle arbitrary expressions dependent on static input params in proc signaturesZahary Karadjov2014-03-161-2/+3
|
* fixes #968Araq2014-03-041-1/+0
|
* implements #766;Zahary Karadjov2014-01-241-1/+1
| | | | | | expressions such as Type.field are now recognised by the compiler. This also fixes a bug, preventing the user-defined to check for the presence of regular fields in addition to procs
* introduce tyFromExpr; fixes #618Zahary Karadjov2014-01-041-3/+2
|