summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* fixes the remaining fixable Nimrod->Nim renamings; closes #2032Araq2018-09-034-14/+14
|
* fixes #8740Araq2018-09-031-1/+1
|
* fixes #8028Andreas Rumpf2018-09-031-1/+1
|
* runnableExample: put each example to its own file; fixes #7285Andreas Rumpf2018-09-032-30/+27
|
* fixes #8831Andreas Rumpf2018-09-031-1/+1
|
* Make sure addGotoOut always inserts its node (#8843)LemonBoy2018-09-031-1/+1
| | | Fixes #8773
* change runnableExamples implementation; fixes #8641; fixes #7135; ↵Andreas Rumpf2018-09-025-42/+70
| | | | runnableExamples works for templates and generics
* fixes #8694Andreas Rumpf2018-09-021-2/+2
|
* fixes #8052Araq2018-08-311-1/+1
|
* Constant folding for integer casts (#8095)LemonBoy2018-08-311-7/+25
|
* Do not materialize empty varargs[untyped] arrays (#8715)LemonBoy2018-08-311-6/+17
| | | | | | | | | When an empty nkArgList `varargs[untyped]` is passed around it is now reused for efficiency sake and to prevent the introduction of a spurious element: before this commit we'd pass the caller a nkArgList[nkHiddenStdConv[nkBracket]] node instead of just an empty nkArgList. Fixes #8706
* fixes #8066Araq2018-08-312-3/+9
|
* introduce precise string '[]', '[]=' accessors; fixes #8049 (#8817)Andreas Rumpf2018-08-302-2/+11
|
* fixes #7854Araq2018-08-301-1/+2
|
* make config.nims behave like nim.cfg in terms of where these scripts are ↵Timothee Cour2018-08-306-70/+131
| | | | | | | | | searched / run (#8682) * run project config.nims if exists, then inputfile.nims if exists * ~/.config/nim/config.nims can now be used * also check in getSystemConfigPath for config.nims * refactor handleCmdLine for nim and nimsuggest
* Allow `hint` and `warning` to specify its loc info (#8771)LemonBoy2018-08-282-10/+14
| | | Let's bring those to feature-parity with `error`.
* fixes #4766Araq2018-08-281-1/+2
|
* Fix nkImportAs regression (#8796)Oscar Nihlgård2018-08-281-9/+14
|
* show all mismatching overloads againAraq2018-08-271-9/+11
|
* improve the error message for mutability problems that arise from implicit ↵Araq2018-08-271-1/+3
| | | | converter calls
* fixes #8776Araq2018-08-271-10/+11
|
* allow .experimental in a .push/pop environment; refs #8676Araq2018-08-272-17/+23
|
* optimize away genericReset for result assignment; refs #8745Araq2018-08-271-3/+112
|
* fixes #8781 by appending "_U" instead of 'U' (#8787)Vindaar2018-08-271-1/+3
|
* More checks for custom pragmas placement (#8765)LemonBoy2018-08-251-3/+6
| | | | We're not interested in custom pragmas attached to certain node kinds so the compiler silently ignored them.
* fixes #8739; allow --hint:foo:on --warning:bar:off (#8757)Timothee Cour2018-08-252-8/+17
|
* fixes 8754 (#8755)cooldome2018-08-241-0/+8
| | | | | | * fixes 8754 * improve test
* Validate pragmas attached to for variables (#8749)LemonBoy2018-08-242-0/+3
| | | Fixes #8741
* improve error messages by filtering out highly unlikely mismatchesAndreas Rumpf2018-08-241-0/+10
|
* enforce the condition of a 'when' condition to be of type bool; refs #8603Andreas Rumpf2018-08-231-1/+1
|
* add nimHasWarningX and nimHasHintX defines for feature detection purposesAndreas Rumpf2018-08-231-0/+6
|
* make nimsuggest compile againAndreas Rumpf2018-08-231-1/+1
|
* fixes merge conflictAraq2018-08-2316-61/+104
|\
| * Fix for module alias inside brackets (#8726)Oscar Nihlgård2018-08-232-14/+19
| |
| * partially fix #8218: nim doc --project (#8737)Timothee Cour2018-08-231-4/+3
| |
| * better formatting for recursive module dependency (#8735)Timothee Cour2018-08-231-1/+1
| |
| * Fix abs & unary sub in semfold (#8724)Oscar Nihlgård2018-08-221-2/+6
| |
| * Pick skParam symbols when resolving type idents (#8720)LemonBoy2018-08-221-1/+1
| | | | | | Fixes #8357
| * fixes 8594 (#8721)cooldome2018-08-221-2/+2
| |
| * Don't consider tyAnd/tyNot/tyOr/tyAnything as generic (#8700)LemonBoy2018-08-222-17/+34
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Don't consider tyAnd/tyNot/tyOr/tyAnything as generic `containsGenericType` was too shallow and didn't check all the branches. The resulting half-processed nodes are often simplified by the constant folding pass but when that's not possible we get a nasty error during codegen. Fixes #8693 * Move the blame onto the semFold pass Slightly better evaluation of `is` forms.
| * Cosmetic: fix typo on TRIPLESTR_LIT (#8663)Iván Montes2018-08-212-2/+2
| |
| * Fix #8126 (#8712)zah2018-08-213-2/+4
| | | | | | | | | | | | This is a temporary fix that will be reworked in a follow up commit that aims to eliminate the tfExplicit flag from the compiler. The complete and proper fix was considered too risky for inclusion just before our 0.19 release.
| * More robust handling of deprecated pragmas (#8696)LemonBoy2018-08-212-9/+24
| | | | | | | | | | | | Prevent `deprecated` annotations to "slip" up to the parent module and warn about unsupported annotations. Accidentally fixes #7867
| * sfForward is also sfReorder for skModule symbols (#8692)LemonBoy2018-08-211-1/+1
| | | | | | | | | | Take this into account while searching for undefined forward references. Fixes #8665
| * Update all the default parameters after an instantiation (#8689)LemonBoy2018-08-201-6/+5
| | | | | | | | | | | | The old implementation relied on the (now?) wrong assumption that default-valued parameters can only be placed after the required ones. Fixes #8683
| * exploit nil seqs for performance (#8688)Andreas Rumpf2018-08-202-8/+15
| | | | | | | | | | * changes $ for seqs to never produce 'nil' * exploit the fact that empty seqs don't have to allocate in the code generator
| * Expand tyAlias in typeToString (#8634)LemonBoy2018-08-181-0/+2
| | | | | | Fixes #8339
* | even more strict isNil handling for strings/seqs in order to detect bugsAraq2018-08-2216-71/+66
| |
* | make tests green againAraq2018-08-211-1/+1
| |
* | some progress on destructors for builtin seqsAndreas Rumpf2018-08-202-2/+6
| |