Commit Graph

1206 Commits

Author SHA1 Message Date
Andreas Rumpf
31afbd2379 fixes #11807 (#11900)
* fixes #11807
* make tests green again

(cherry picked from commit c0d240b8cd)
2019-08-13 16:59:49 +02:00
Arne Döring
52bdb1adc7 fix #11854 (#11857)
(cherry picked from commit 803406d07c)
2019-08-12 11:22:14 +02:00
Araq
9e634919d9 style improvements; fixes #11774
(cherry picked from commit 5a020d641d)
2019-08-12 10:22:31 +02:00
Araq
8b6ea5d451 atomics.nim: minor improvements
(cherry picked from commit bb5ca0772e)
2019-07-15 08:06:47 +02:00
Araq
e34a318b9f minor style changes
(cherry picked from commit cb3c3c306c)
2019-07-15 08:03:16 +02:00
Araq
694d57c899 styleCheck: make the compiler and large parts of the stdlib compatible with --styleCheck:error
(cherry picked from commit c94647aeca)
2019-07-15 07:58:45 +02:00
Andreas Rumpf
c96e6682a0 fixes #11447
(cherry picked from commit d2684cdfd2)
2019-07-08 11:33:19 +02:00
Andreas Rumpf
3e8c4519d4 newruntime for async (#11650)
* fixes overloading resolution for passing owned(Future[string]) to Future[T]
* WIP: make --newruntime work with .async
* memtracker: make it compile again
* make Nimble compile again

(cherry picked from commit 5f515410af)
2019-07-08 11:28:41 +02:00
Timothee Cour
6a23772e23 fixes #8405: -d:useNimRtl now works even when {.rtl.} procs are used at compile time; CTFFI now works with {dynlib} (#11635)
(cherry picked from commit 64168d4aea)
2019-07-08 11:27:15 +02:00
Timothee Cour
b94e7b65a0 [bugfix] fix mach_absolute_time header; refs #11591 (#11593)
(cherry picked from commit 0ca71dd92c)
2019-07-08 11:27:15 +02:00
Andreas Rumpf
59fbd261a6 fixes #11618 (#11631)
(cherry picked from commit 9b949855c7)
2019-07-02 13:57:12 +02:00
alaviss
eb295bbb7d assertions: fixes #11545 (#11605)
* assertions: properly fix #11545

* tests/assert: enable excessiveStackTrace

* tests/assert: add test case for #11545

* tfailedassert_stacktrace: disable excessiveStackTrace

* assertions: weird workaround for failing tests

This fixes megatest on *nix, but have no idea why

(cherry picked from commit 2c10b246ec)
2019-07-02 13:56:55 +02:00
Ico Doornekamp
281baadb33 Make repr use 'ptr' for ptr types instead of 'ref' (#11626)
(cherry picked from commit a5686961bd)
2019-07-02 13:56:55 +02:00
alaviss
98b9ffa3a4 assertions: make assert follow excessiveStackTrace (#11574)
(cherry picked from commit 403fd3ac43)
2019-06-27 20:59:45 +02:00
Arne Döring
a5a62b562f [refactoring] remove zeroExtend and friends from the compiler builtins. (#11531)
* remove zeroExtend and friends from the compiler builtins.
* fix jssys

(cherry picked from commit e90d91f0e4)
2019-06-27 20:59:45 +02:00
alaviss
4c7dec34d5 [bugfix] gc_common: export foreign thread gc docs (#11536)
(cherry picked from commit 24ac13f653)
2019-06-20 11:54:46 +02:00
Andreas Rumpf
05d647398a [other] preparations for --styleCheck:error for the Nim compiler (#11478)
(cherry picked from commit 572b7c37a5)
2019-06-16 17:17:41 +02:00
Arne Döring
4c8a02165e [refactoring] refactor the compiler and stdlib to deprecation warnings (#11419)
(cherry picked from commit c7e1c665a1)
2019-06-16 17:17:41 +02:00
Miran
65a2b3bb6f [other] better error message for IndexError for empty containers (#11476)
(cherry picked from commit b3d2cd738a)
2019-06-16 17:16:49 +02:00
nc-x
bce908f6ee fix koch docs failing at io.nim with import os in config.nims (#11418) [bugfix] 2019-06-08 00:37:08 +02:00
Dankr4d
9d536b90c1 Fixed "is not GC-safe as it calls 'createThread'" when creating a thread in a thread. (#11390) 2019-06-03 17:13:21 +02:00
John Paul Adrian Glaubitz
5c5df61071 Additional platform definitions for sparc64 (#11387)
* lib/posix: Define SO_REUSEPORT for sparc64 as 0x0200 from kernel ABI

* lib/system: Add platform support for sparc64
2019-06-03 08:20:00 +02:00
Arne Döring
5b27b263fd Remove immediate pragma (#11308)
* remove immediate from tests
* remove immediate from the compiler
2019-05-29 22:21:51 +02:00
Arne Döring
88b5dd3362 right shift is now by default sign preserving (#11322)
* right shift is now by default sign preserving
* fix hashString and semfold
* enable arithmetic shift right globally for CI
* fix typo
* remove xxx
* use oldShiftRight as flag
* apply feedback
* add changelog entry
2019-05-29 16:48:00 +02:00
Araq
8bb1a6b041 fixes #11205 2019-05-28 21:30:41 +02:00
Araq
781108ffe4 better error message for the object case switch transition period 2019-05-27 22:46:52 +02:00
Araq
84ca1f3bf3 hotfix for 32bit unsigned 'range' checking; incomplete, unknown why some operations produce range checks 2019-05-27 22:38:06 +02:00
Araq
383147f5cb make json.to work with the more restricted case objects 2019-05-27 21:29:02 +02:00
Andreas Rumpf
49e686ab4e fixes #1286; object case transitions are now sound 2019-05-27 21:29:02 +02:00
Miran
bab5e30972 fixes #10963, disallow implicit mixing of strings and ints/floats (#11292) 2019-05-21 21:32:37 +02:00
Arne Döring
f94ec363ab Allow void macro result (#11286)
* allow void macro result
* add test for void macro result type
2019-05-21 21:31:40 +02:00
Ștefan Talpalaru
fa3d19b477 cas(): use an "__atomic" builtin instead of the legacy "__sync" one (#11246)
"New code should always use the ‘__atomic’ builtins rather than the ‘__sync’ builtins." - https://gcc.gnu.org/onlinedocs/gcc/_005f_005fatomic-Builtins.html
2019-05-14 21:47:14 +02:00
Arne Döring
b92fd30282 rename tyExpr/tyStmt to tyUntyped/tyTyped (#11227) 2019-05-11 10:11:08 +02:00
Ico Doornekamp
a170719d1a repr on seq now outputs @[...] (#11224) 2019-05-10 16:33:42 +02:00
Andreas Rumpf
aa76857462 Merge pull request #11181 from nim-lang/pending-future-tracking
Implements pending future tracking in async.
2019-05-08 20:37:31 +02:00
Araq
a85d387928 fixes #10978 2019-05-06 21:42:49 +02:00
Dominik Picheta
abe634aefe Implements pending future tracking in async. 2019-05-06 17:18:30 +01:00
Miran
ce152ed91f iterators: several small fixes (#11162)
* fix pairs, mpairs, mitems for cstring for JS backend
* add mutation check for pairs and mpairs for strings and seqs
* change the assertion message - modifying (changing elements) is not
  a problem, changing the length is
2019-05-04 23:02:50 +02:00
Zed
3b4952da94 Fix header inconsistencies in documentation (#11071) 2019-04-23 08:40:20 +02:00
Andreas Rumpf
375b444ecd make -d:nimQuirky work with devel 2019-04-20 22:16:22 +02:00
Andreas Rumpf
33a370866c hotfix: nimParseBiggestFloat needs to be patched for the newer string implementations; refs #11062 2019-04-20 15:33:26 +02:00
cooldome
041d15392a Compiler plugin for implementing incremental computation in user space (#10819)
This plugin provides essential building block for implementing incremental computations in your programs. The idea behind incremental computations is that if you do the same calculation multiple times but with slightly different inputs you don't have to recompute everything from scratch. Also you don't want to adopt special algorithms either, you would like to write your code in standard from scratch manner and get incrementality for free when it is possible.

The plugin computes the digest of the proc bodies, recursively hashing all called procs as well . Such digest with the digest of the argument values gives a good "name" for the result. Terminology loosely follows paper "Incremental Computation with Names" link below. It works well if you have no side effects in your computations. If you have global state in your computations then you will need problem specific workarounds to represent global state in set of "names" . SideEffect tracking in Nim also useful in this topic.

Classical examples:

Dashboard with ticking data. New data arrives non stop and you would like to update the dashboard recomputing only changed outputs.
Excel spreadsheet where user changes one cell and you would like to recompute all cells that are affected by the change, but do not want to recompute every cell in the spreadsheet.
2019-04-11 23:09:11 +02:00
cooldome
de02fd0b89 fixes #10765 (#10993) [backport] 2019-04-11 13:51:51 +02:00
Araq
f44e1e2214 make tests green again 2019-04-09 09:11:44 +02:00
Araq
430814fdb3 make it compile with older nim versions 2019-04-08 17:17:54 +02:00
Araq
6efa7ecf18 respect -d:useMalloc everywhere; turn ansi_c and memory into proper Nim modules 2019-04-08 17:09:27 +02:00
Araq
d5f2a5c204 add back what was required 2019-04-04 16:35:15 +02:00
Araq
228d53006a refactoring: move threadlocalstorage into its own file 2019-04-04 16:35:15 +02:00
Andrii Riabushenko
ad1c6fe8b9 fixes #10953 2019-04-03 15:06:26 +01:00
Araq
9029257a99 attempt to make the CIs green again 2019-04-02 11:01:38 +02:00