summary refs log tree commit diff stats
path: root/compiler/sem.nim
Commit message (Collapse)AuthorAgeFilesLines
* Remove immediate pragma (#11308)Arne Döring2019-05-291-2/+1
| | | | | * remove immediate from tests * remove immediate from the compiler
* new compiler feature: --expandMacroAraq2019-05-291-1/+3
|
* Allow void macro result (#11286)Arne Döring2019-05-211-4/+3
| | | | | * allow void macro result * add test for void macro result type
* rename tyExpr/tyStmt to tyUntyped/tyTyped (#11227)Arne Döring2019-05-111-9/+9
|
* Replace countup(x, y-1) with x ..< yClyybber2019-05-071-1/+1
|
* more destructor based changes (#10885)Andreas Rumpf2019-03-231-1/+1
| | | | | | | | | | | * mark user defined destructors with sfOverriden to simplify the logic * refactoring in preparation to merge liftings and generic instantiations for destructors * ast: introduce nkHiddenTryStmt for destructor generation in order to be able to optimize better the code later on * renamed 'patterns' switch to 'trmacros' as it was totally misleading before * destructors: introduce tfCheckedForDestructor flag in preparation of strict =destroy checking * test for invalid/too late destructor introductions * liftdestructors: make code robust for nimsuggest * --newruntime works for hello world again * newruntime: code generation for closures
* compiler/sem: correct macros lineinfo (#10438)alaviss2019-01-241-4/+5
| | | | | | | | | The compiler believes these are where a macro call starts (marked with `^`): m "string" ^ ^ This commit addresses that.
* Fix defer not not-working at top level (#10191)Neelesh Chandola2019-01-071-2/+0
|
* fixes nested gensym'ed parameters; fixes #9476Araq2018-12-081-5/+6
|
* Destructors: more moves for tuples (#9808)cooldome2018-11-271-1/+1
|
* added first version of a nimfind tool for the poor souls that don't have a ↵Andreas Rumpf2018-11-141-2/+2
| | | | good nimsuggest integretation
* make Nim take roughly 100MB less RAM for bootstrapping via a new compiler ↵Andreas Rumpf2018-11-071-1/+4
| | | | switch -d:leanCompiler; useful for the Raberry PI
* Change the order of compilation passes, transformation is made lazy at code ↵cooldome2018-10-181-1/+1
| | | | | | | | | | | | | | | gen (#8489) * Ast no transformation * Add getImplNoTransform to the macros module * progress on delaying transf * Fix methods tranformation * Fix lazy lambdalifting * fix create thread wrapper * transform for lambda lifting * improve getImplTransformed * Fix destructor tests * try to fix nimprof for linux
* compiler: show name of instantiating context in error traces (#6763) (#9207)xzfc2018-10-111-1/+1
|
* Make the registered passes local to the ModuleGraph (#9259)LemonBoy2018-10-091-1/+1
| | | Closes #9068
* make tests green againAndreas Rumpf2018-09-241-2/+10
|
* extended system.type/typeof to support an upcoming 'collect' macro that ↵Andreas Rumpf2018-09-111-4/+4
| | | | works much better than sugar.lc
* change runnableExamples implementation; fixes #8641; fixes #7135; ↵Andreas Rumpf2018-09-021-23/+0
| | | | runnableExamples works for templates and generics
* WIP: disallow 'nil' for strings and seqsAndreas Rumpf2018-08-131-1/+1
|
* fixes merge conflictAraq2018-08-071-1/+2
|\
| * runnableExamples: keep (gitignored) generated foo_examples.nim for ↵Timothee Cour2018-08-071-1/+2
| | | | | | | | | | | | inspection even on success (#8544)
* | use slashes instead of dots for pathsAndreas Rumpf2018-08-061-2/+2
|/
* fixes #8323 : avoid polluting git status after `nim doc foo` (#8415)Timothee Cour2018-07-301-3/+5
|
* make runnableExamples use a private nimcache so that they can be tested in ↵skilchen2018-07-121-2/+9
| | | | | parallel (#8281) * make runnableExamples use a private nimcache so that they can be tested in parallel
* Check the RHS when building a set (#8159)LemonBoy2018-06-301-1/+1
| | | Fixes #2669
* Return an error symbol as macro output if needed (#8116)LemonBoy2018-06-271-1/+6
| | | | | | Return an error symbol if the macro output has no type and a typedesc is expected. Fixes #7454
* allow referencing other parameters in default parameter valuesZahary Karadjov2018-06-161-7/+11
| | | | | | | | fix #7756 fix #1201 fix #7000 fix #3002 fix #1046
* fixes #7222; fixes #5595; fixes #3747Zahary Karadjov2018-06-161-1/+1
| | | | | | | | | | * late instantiation for the generic procs' default param values * automatic mixin behaviour in concepts Other fixes: * don't render the automatically inserted default params in calls * better rendering of tyFromExpr
* A minimal patch enabling the new typedesc and static types syntaxZahary Karadjov2018-06-161-0/+3
|
* implements a --nep1:on switch to make the compiler enforce the naming ↵Andreas Rumpf2018-06-131-1/+1
| | | | conventions outlined in NEP-1
* fixex merge conflictsAraq2018-06-081-2/+4
|\
| * fixes #7906, array and openarray arg vs. ptr/ref generic (#7909)andri lim2018-06-041-2/+4
| | | | | | | | | | | | * fixes #7906, array and openarray arg vs. ptr/ref generic * add comment
* | fixed merge conflictAndreas Rumpf2018-06-041-1/+1
|\|
| * fixes #7818, correct internal representation of generic objects array ↵andri lim2018-05-291-1/+1
| | | | | | | | | | | | | | construction (#7824) * defer skiptypes * defer skiptypes for tyRef & tyPtr * remove unneeded skipTypes
* | incremental compilation: implemented basic replay logicAndreas Rumpf2018-06-021-8/+5
| |
* | baby steps for incremental compilationAndreas Rumpf2018-05-301-7/+2
| |
* | runnableExamples: use the self exe to test the examplesAndreas Rumpf2018-05-301-1/+1
| |
* | refactoring: move DB model to incremental.nimAndreas Rumpf2018-05-301-2/+2
| |
* | refactoring: remove idents.legacy global variable and pass the IdentCache ↵Andreas Rumpf2018-05-271-7/+7
| | | | | | | | around explicitly
* | more refactoringAndreas Rumpf2018-05-271-1/+1
| |
* | Merge branch 'devel' into araq-big-refactoringAndreas Rumpf2018-05-271-0/+1
|\|
| * fix #7883; fix #7829Zahary Karadjov2018-05-261-0/+1
| |
* | remove more global variables in the Nim compilerAndreas Rumpf2018-05-271-16/+16
| |
* | preparations of making compiler/msgs.nim free of global variablesAndreas Rumpf2018-05-171-1/+1
| |
* | remove ast.emptyNode global; cleanup configuration.nimAraq2018-05-161-1/+1
|/
* options.nim: no global variables anymoreAndreas Rumpf2018-05-131-5/+5
|
* sem pass compiles againAndreas Rumpf2018-05-121-22/+22
|
* more modules compile againAndreas Rumpf2018-05-121-13/+16
|
* more modules compile againAndreas Rumpf2018-05-121-24/+27
|
* compiler refactoring, pass config around explicitlyAndreas Rumpf2018-05-051-3/+3
|