Commit Graph

13186 Commits

Author SHA1 Message Date
Oscar Nihlgård
7dcf435b4b Fix abs & unary sub in semfold (#8724) 2018-08-22 15:59:33 +02:00
LemonBoy
d94ee75d1c Pick skParam symbols when resolving type idents (#8720)
Fixes #8357
2018-08-22 15:49:43 +02:00
cooldome
d0f4a929e0 fixes 8594 (#8721) 2018-08-22 12:16:18 +02:00
LemonBoy
a87341775a Don't consider tyAnd/tyNot/tyOr/tyAnything as generic (#8700)
* 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.
2018-08-22 09:40:31 +02:00
Dominik Picheta
3e7aaa7087 Fixes #8716. (#8717) 2018-08-22 00:18:17 +02:00
Iván Montes
e66d9c9381 Cosmetic: fix typo on TRIPLESTR_LIT (#8663) 2018-08-21 22:17:19 +02:00
zah
96de224a63 Fix #8126 (#8712)
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.
2018-08-21 22:14:12 +02:00
LemonBoy
8e435d7b0c HTML generation in testament works again (#8702)
Fallout from the nil-str patch. Nothing to see here, move along.
2018-08-21 15:15:14 +02:00
LemonBoy
cf20c4460c More robust handling of deprecated pragmas (#8696)
Prevent `deprecated` annotations to "slip" up to the parent module and
warn about unsupported annotations.

Accidentally fixes #7867
2018-08-21 15:07:44 +02:00
LemonBoy
bbe5e8326b sfForward is also sfReorder for skModule symbols (#8692)
Take this into account while searching for undefined forward references.

Fixes #8665
2018-08-21 14:51:23 +02:00
Timothee Cour
0dd31a4f97 fix typo in changelog.md: nnkTupleConst => nnkTupleConstr 2018-08-21 13:10:38 +01:00
Dmitry Atamanov
b75808c7d9 Fixes ropes regressions due to the not-nil strings (#8687) 2018-08-20 16:55:22 +02:00
LemonBoy
b28c7d434b Update all the default parameters after an instantiation (#8689)
The old implementation relied on the (now?) wrong assumption that
default-valued parameters can only be placed after the required ones.

Fixes #8683
2018-08-20 16:54:13 +02:00
Andreas Rumpf
2def616069 exploit nil seqs for performance (#8688)
* changes $ for seqs to never produce 'nil'
* exploit the fact that empty seqs don't have to allocate in the code generator
2018-08-20 11:54:18 +02:00
Στέφανος
f87a91a3ec Fixed a minor typo (#8685) 2018-08-20 09:40:56 +02:00
LemonBoy
b5171f57ef Expand tyAlias in typeToString (#8634)
Fixes #8339
2018-08-18 15:27:47 +02:00
Araq
887987bb1a every .experimental feature has a corrsponding 'nimHasX' define; fixes #8644; refs #8672 2018-08-18 01:21:47 +02:00
Dominik Picheta
ced1c13571 Use project name in install tmpl and ensure config dir is created. 2018-08-17 16:26:23 +01:00
Dominik Picheta
eff7e42d7b Fixed install scripts for #8653. 2018-08-17 16:21:37 +01:00
Oscar Nihlgård
5f184eca10 Update changelog 2018-08-17 15:51:02 +01:00
Oscar Nihlgård
33ed8f7e73 times.Timezone changes (#8527)
* Use floorDiv in times.nim

* New implementation of times.Timezone

* Tweak doc comments

* Fix typo
2018-08-17 11:12:58 +02:00
Oscar Nihlgård
b77d910e4e Remove broken push pragma from jscore (#8414) 2018-08-17 11:11:55 +02:00
alaviss
7898f2a785 scriptconfig: register passes once (#8590)
fixes #8235
2018-08-17 11:09:33 +02:00
Kaushal Modi
d73b19e379 Look for user nim.cfg in "nim/" subdir in usual config dir locations (#8662)
Fixes https://github.com/nim-lang/Nim/issues/8661.
2018-08-17 10:52:10 +02:00
Arne Döring
ce4383be3b fixes #8658; addQuoted on Option[T] (#8659) 2018-08-17 01:24:28 +02:00
LemonBoy
ac0f5c83ca Fixes 8535 (#8591)
* 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
2018-08-17 00:34:27 +02:00
Timothee Cour
af037546b0 fixes #7187 sequtils.toSeq produces the sequence from the iterator twice (#8586)
* cleanups refs #8584
* fixes #7187
2018-08-16 23:19:36 +02:00
Andreas Rumpf
3ca8ebe778 fixes #8653 2018-08-16 18:49:22 +02:00
Emery Hemingway
2da0341b4d Genode fixes (#8501)
* 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
2018-08-16 18:12:37 +02:00
Timothee Cour
87b2d2aad6 added a variant of quoteShellCommand that takes an openArray of arguments (#8272) 2018-08-16 14:10:16 +02:00
Araq
2870ca5d71 Merge branch 'araq-misc' into devel 2018-08-16 12:30:00 +02:00
Andreas Rumpf
d82dd3c47d attempt to make travis green 2018-08-16 09:05:19 +02:00
Timothee Cour
e05d0ea0bb tester.nim add more diagnostics (#8631) 2018-08-16 00:54:39 -04:00
Andreas Rumpf
e4c759fbff Merge branch 'devel' into araq-misc 2018-08-16 01:22:21 +02:00
Andreas Rumpf
b78114ce50 minor edit to the changelog 2018-08-16 00:23:37 +02:00
Andreas Rumpf
1061e26bc9 implements 'case statement macros' in order to encourage the development of pattern matching mechanisms that are not terrible to look at 2018-08-16 00:16:49 +02:00
Andreas Rumpf
da41fc1801 put the new for loop macros under an experimental switch named 'forLoopMacros' 2018-08-15 17:45:57 +02:00
Andreas Rumpf
27e1fbe7db implement the --nilseqs switch properly 2018-08-15 16:56:32 +02:00
Andreas Rumpf
0da91aa744 changes how the now illegal 'string == nil' comparison is detected 2018-08-15 16:31:56 +02:00
LemonBoy
531c66d1ec Allow taking address of skForVar variables (#8632)
Fixes #8630
2018-08-14 21:28:14 +02:00
Andreas Rumpf
94684488d6 make more tests green 2018-08-14 21:15:03 +02:00
LemonBoy
c04404635b Fix unsound transform pass (#8633)
When a `var openArray[T]` function parameter goes trough the
`transformAddrDeref` pass we may lose the `var` specifier, leading to
nasty crashes at runtime.
2018-08-14 20:38:04 +02:00
Dominik Picheta
9a7e6be62f Merge pull request #8625 from drslump/fixes-7586-documentation-on-hints
Fixes #7586: Adds documentation for hints
2018-08-14 11:26:53 +01:00
Dominik Picheta
bc957ace2e Merge pull request #8628 from hlaaftana/patch-1
Small documentation typo in math
2018-08-14 11:21:26 +01:00
Timothee Cour
ed9fd2b63c fixes #8577, fixes #8580, other bug fixes (#8584) 2018-08-14 10:44:28 +02:00
alaviss
7ef268274f Haiku support for Nim (#8542)
* posix_other: Haiku now has spawn.h

This is added per https://dev.haiku-os.org/ticket/13446

* posix_other: Add Haiku specific Dirent members

* cpuinfo: Add an implementation for Haiku

* distros: Add basic Haiku support

* encodings: update Haiku support

* fenv, math: Haiku now provides libm

* times: Add Haiku struct members

* ansi_c, osalloc: Add Haiku constants

* threads: Add Haiku support

* testament: Haiku uses LIBRARY_PATH

* nim.cfg: Update Haiku support

libnetwork should only be linked if network functions are used

* threads: Haiku does not support -pthread switch

* tworkingdir: Haiku's env is in /bin

* posix_other: add SIGKILLTHR for Haiku

* sockets: link with libnetwork on Haiku

* coro: correct ucontext.h location

http://pubs.opengroup.org/onlinepubs/009696699/basedefs/ucontext.h.html

* coro: ucontext backend is not available on Haiku

Haiku doesn't provide the <ucontext.h> header, as it was removed from POSIX

* coro: fix setjmp backend

The compiler does not allow statements after a noreturn function

* nativesockets: Haiku doesn't support AI_V4MAPPED

* system: hostOS can contains "haiku"

* os: add support for Haiku's packagefs

packagefs is read-only, but there are writable holes to the underlying
file system as well

* os: update constant for Haiku
2018-08-14 09:35:07 +02:00
Araq
18859cbaa1 make nimweb compile again 2018-08-14 01:36:02 +02:00
Araq
83c89197f3 renames threadpool.await to blockUntil; refs #7853 2018-08-14 01:28:04 +02:00
Dominik Picheta
feda366d86 Adds get for Option[T]. (#8462) 2018-08-14 01:09:08 +02:00
hlaaf
ed4a267399 Small documentation typo in math 2018-08-14 01:33:56 +03:00