summary refs log tree commit diff stats
path: root/compiler
Commit message (Collapse)AuthorAgeFilesLines
* 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
* every .experimental feature has a corrsponding 'nimHasX' define; fixes ↵Araq2018-08-181-0/+6
| | | | #8644; refs #8672
* scriptconfig: register passes once (#8590)alaviss2018-08-171-2/+5
| | | fixes #8235
* Look for user nim.cfg in "nim/" subdir in usual config dir locations (#8662)Kaushal Modi2018-08-171-1/+1
| | | Fixes https://github.com/nim-lang/Nim/issues/8661.
* Fixes 8535 (#8591)LemonBoy2018-08-173-16/+29
| | | | | | | | | | | | | | | | | | | * Goodbye postInitProc * Give preInitProc its own scope Avoid any conflict between the variables introduced by preInitProc and initProc since both are codegen'd in the same function body. * Fix codegen for global var init in emulated TLS Fixes #8535 * Add test for #8535 * Keep a bogus stack frame around * Remove more dead code
* fixes #8653Andreas Rumpf2018-08-161-2/+2
|
* Genode fixes (#8501)Emery Hemingway2018-08-161-2/+3
| | | | | | | | | | | | | * Genode fixes - wrap strings in "Genode::Cstring" when logging - define SIGABRT for Genode - disable GCC -fstack-protector - use log RPC for fatal messages - add --os:genode build to appveyor - define paramStr and paramCount * Select fixups for Genode POSIX
* Merge branch 'devel' into araq-miscAndreas Rumpf2018-08-164-1/+15
|\
| * Allow taking address of skForVar variables (#8632)LemonBoy2018-08-141-1/+1
| | | | | | Fixes #8630
| * Fix unsound transform pass (#8633)LemonBoy2018-08-143-0/+14
| | | | | | | | | | When a `var openArray[T]` function parameter goes trough the `transformAddrDeref` pass we may lose the `var` specifier, leading to nasty crashes at runtime.
* | implements 'case statement macros' in order to encourage the development of ↵Andreas Rumpf2018-08-162-75/+110
| | | | | | | | pattern matching mechanisms that are not terrible to look at
* | put the new for loop macros under an experimental switch named 'forLoopMacros'Andreas Rumpf2018-08-152-4/+7
| |
* | implement the --nilseqs switch properlyAndreas Rumpf2018-08-151-0/+1
| |
* | changes how the now illegal 'string == nil' comparison is detectedAndreas Rumpf2018-08-153-7/+4
| |
* | make tests green againAraq2018-08-131-1/+1
| |
* | Merge branch 'devel' into araq-miscAraq2018-08-133-6/+7
|\|
| * Converters to take into account constraints. Fixes #7520 (#8593)cooldome2018-08-131-0/+4
| |
| * Fixes 8616 (#8617)LemonBoy2018-08-121-1/+1
| | | | | | | | | | | | | | | | * Don't leave dangling forward references to types Fixes #8616 * Add a test case for #8616
| * Mysterious fix for #8550 (#8561)LemonBoy2018-08-121-5/+2
| | | | | | | | Replacing the `for` body with a nkEmpty node is not the right thing to do.
* | fixes more nil handling regressionsAraq2018-08-132-4/+8
| |
* | WIP: disallow 'nil' for strings and seqsAndreas Rumpf2018-08-1326-84/+103
| |
* | fixes #8599Andreas Rumpf2018-08-101-1/+1
| |
* | Merge branch 'devel' into araq-miscAndreas Rumpf2018-08-101-1/+1
|\|
| * Uses XDG_CACHE_HOME if available (#8585)alaviss2018-08-091-1/+1
| | | | | | | | | | | | * compiler/options: use XDG_CACHE_HOME if set * doc/nimc: update documentation
| * fixes the new nimcache handlingAraq2018-08-081-1/+2
| |
| * 'nimcache' defaults to ~/.cache on Posix; cleaned up documentationAndreas Rumpf2018-08-081-2/+12
| |
| * use slashes instead of dots for pathsAndreas Rumpf2018-08-082-3/+3
| |
| * introduce the --define 'osx' as an alias for 'macosx'Andreas Rumpf2018-08-081-0/+1
| |
* | make nimsuggest go up in the directory tree in order to determine the main ↵Andreas Rumpf2018-08-101-12/+16
| | | | | | | | .nim file
* | change the VM's max instruction count to 3_000_000Andreas Rumpf2018-08-101-1/+1
| |
* | deprecated regionized pointersAraq2018-08-101-0/+2
| |
* | deprecate the .this pragmaAraq2018-08-093-51/+42
| |
* | codegen improvement: map the empty string to 'nil' since it's now allowed to ↵Araq2018-08-081-3/+3
| | | | | | | | do that
* | fixes the new nimcache handlingAraq2018-08-071-1/+2
| |
* | fixes merge conflictAraq2018-08-0712-7/+48
|\|
| * runnableExamples: keep (gitignored) generated foo_examples.nim for ↵Timothee Cour2018-08-072-4/+5
| | | | | | | | | | | | inspection even on success (#8544)
| * fixes #6255, add `system.ashr` arithmetic right shift (#8547)andri lim2018-08-079-3/+22
| |
| * fixes #8421, fixes #7968, Nim compiler compiles with MSVC C89 version (#8556)andri lim2018-08-071-0/+21
| |
* | 'nimcache' defaults to ~/.cache on Posix; cleaned up documentationAndreas Rumpf2018-08-061-2/+12
| |
* | use slashes instead of dots for pathsAndreas Rumpf2018-08-062-3/+3
| |