Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | first steps of making 'opt' a first class type for Nim | Andreas Rumpf | 2017-09-25 | 1 | -1/+1 |
| | |||||
* | some work to make 'opt' a first class type | Andreas Rumpf | 2017-09-24 | 1 | -2/+2 |
| | |||||
* | a few tiny cleanups (#5712) | Jacek Sieka | 2017-05-29 | 1 | -16/+4 |
| | | | exposes emitLazily (for nlvm) and simplifies some conditionals | ||||
* | Ascii character code 127 (DEL) is not printable. | Markus F.X.J. Oberhumer | 2017-05-16 | 1 | -1/+1 |
| | |||||
* | introduce tyInferred for the unbound concept type params | Zahary Karadjov | 2017-03-24 | 1 | -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 operator | Zahary Karadjov | 2017-03-24 | 1 | -0/+2 |
| | |||||
* | Fixes #5452 | Yuriy Glukhov | 2017-02-28 | 1 | -1/+1 |
| | |||||
* | fixes a minor codegen issue where name mangling could produce an identifier ↵ | Araq | 2017-02-26 | 1 | -1/+1 |
| | | | | used by the codegen; refs #5437 | ||||
* | removed compiler internal list implementation (#5371) | Arne Döring | 2017-02-22 | 1 | -1/+1 |
| | |||||
* | name mangling bugfixes; ndi file generation for debugger support | Andreas Rumpf | 2017-02-03 | 1 | -4/+8 |
| | |||||
* | new name mangling rules for easier debugging | Andreas Rumpf | 2017-02-02 | 1 | -14/+32 |
| | |||||
* | removed tyArrayConstr completely from the compiler; introduced tyAlias ↵ | Araq | 2016-11-14 | 1 | -2/+2 |
| | | | | instead in preparation for further bugfixes | ||||
* | signature hashing: more progress | Araq | 2016-11-11 | 1 | -75/+65 |
| | |||||
* | clean up tyMutable remnants | Jacek Sieka | 2016-10-24 | 1 | -2/+2 |
| | |||||
* | clean up tyConst remnants | Jacek Sieka | 2016-10-24 | 1 | -2/+2 |
| | |||||
* | clean up tyBigNum remnants | Jacek Sieka | 2016-10-24 | 1 | -2/+2 |
| | |||||
* | remove remnants of tyIter | Jacek Sieka | 2016-10-24 | 1 | -1/+2 |
| | |||||
* | get rid of deprecated toLower/toUpper | Andreas Rumpf | 2016-07-19 | 1 | -1/+1 |
| | |||||
* | fixes #4371 | Andreas Rumpf | 2016-07-08 | 1 | -1/+1 |
| | |||||
* | fixes #3329 | Araq | 2015-09-18 | 1 | -1/+4 |
| | |||||
* | fixes #2551; fixes #2212; breaks bootstrapping in debug mode; bootstrap with ↵ | Araq | 2015-04-25 | 1 | -1/+1 |
| | | | | -d:release | ||||
* | Get rid of deprecation warnings | def | 2015-04-07 | 1 | -3/+3 |
| | |||||
* | prevent name mangling for C++ DLLs | Araq | 2015-03-05 | 1 | -29/+29 |
| | |||||
* | test tsets2.nim compiles again | Araq | 2015-03-01 | 1 | -3/+3 |
| | |||||
* | fixes #2199, fixes #2197 | Araq | 2015-02-24 | 1 | -22/+26 |
| | |||||
* | Fix typos | Federico Ceratto | 2015-02-15 | 1 | -1/+1 |
| | |||||
* | preparations for C++ template support | Araq | 2015-01-23 | 1 | -4/+2 |
| | |||||
* | implemented mixed mode codegen | Araq | 2014-10-03 | 1 | -1/+1 |
| | |||||
* | Nimrod renamed to Nim | Araq | 2014-08-28 | 1 | -1/+1 |
| | |||||
* | renamefest | Araq | 2014-08-23 | 1 | -1/+1 |
| | |||||
* | fixes #1143 | Araq | 2014-08-19 | 1 | -1/+5 |
| | |||||
* | progress on deepCopy | Araq | 2014-08-01 | 1 | -2/+4 |
| | |||||
* | Document mangling | flaviut | 2014-05-26 | 1 | -0/+3 |
| | |||||
* | Make codegen for `1` and similar valid | flaviut | 2014-05-16 | 1 | -0/+21 |
| | |||||
* | handle arbitrary expressions dependent on static input params in proc signatures | Zahary Karadjov | 2014-03-16 | 1 | -2/+3 |
| | |||||
* | fixes #968 | Araq | 2014-03-04 | 1 | -1/+0 |
| | |||||
* | implements #766; | Zahary Karadjov | 2014-01-24 | 1 | -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 #618 | Zahary Karadjov | 2014-01-04 | 1 | -3/+2 |
| | |||||
* | Merge branch 'upstream' into devel | Zahary Karadjov | 2013-12-29 | 1 | -1/+1 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 Karadjov | 2013-12-19 | 1 | -1/+1 |
| | | | | | | | | | | | | | | 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 part 4 | Araq | 2013-12-27 | 1 | -5/+5 |
| | | |||||
* | | case consistency part 1 | Araq | 2013-12-27 | 1 | -18/+18 |
|/ | |||||
* | progress towards adding negative type classes | Zahary Karadjov | 2013-12-09 | 1 | -1/+1 |
| | | | | | | [unittest bugfixes] the block form of check now allows comments errors when inspecting the arguments of var-accepting procs | ||||
* | made some tests green; implemented 'from module import nil' | Araq | 2013-05-19 | 1 | -1/+3 |
| | |||||
* | Removes executable bit for text files. | Grzegorz Adam Hankiewicz | 2013-03-16 | 1 | -0/+0 |
| | |||||
* | fixes for the new overloading resolution | Araq | 2013-03-03 | 1 | -3/+2 |
| | |||||
* | make some tests green | Araq | 2013-03-03 | 1 | -2/+3 |
| | |||||
* | adds an option to interleave the generated code with snippets from the ↵ | Zahary Karadjov | 2012-12-02 | 1 | -25/+0 |
| | | | | | | | | | | | | | | | 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). | ||||
* | [caas] first version that actually works (still has a lot of logical memory ↵ | Zahary Karadjov | 2012-11-28 | 1 | -0/+6 |
| | | | | leaks on recompilation) | ||||
* | bugfixes for closures | Araq | 2012-06-21 | 1 | -2/+12 |
| |