Andrew Kelley
0d6a6c76ea
add missing "referenced here" notes for lazy values
2019-08-22 12:56:35 -04:00
Andrew Kelley
8460d5617c
introduce lazy values
...
see #2174
2019-08-22 12:08:04 -04:00
Marc Tiehuis
0e75fef1de
Merge pull request #3106 from ziglang/hash-tooling-changes
...
Hash tooling changes
2019-08-21 21:54:12 -10:00
Andrew Kelley
efdbede7ab
breaking: remove field alignment kludge
...
This breaks behavior tests as well as compile error notes for generic
function calls. However it introduces better circular dependency compile
errors.
The next step is to add Lazy Values to fix the regressions.
2019-08-21 19:27:51 -04:00
Andrew Kelley
ec7d7a5b14
Merge pull request #2991 from emekoi/mingw-ci
...
mingw improvements
2019-08-21 12:29:42 -04:00
Marc Tiehuis
16fa255f48
Inline full slice hashing
...
This gives moderate speed improvements when hashing small keys.
The crc/adler/fnv inlining did not provide enough speed up to warrant
the change.
OLD:
wyhash
small keys: 2277 MiB/s [c14617a1e3800000]
siphash(1,3)
small keys: 937 MiB/s [b2919222ed400000]
siphash(2,4)
small keys: 722 MiB/s [3c3d974cc2800000]
fnv1a
small keys: 1580 MiB/s [70155e1cb7000000]
adler32
small keys: 1898 MiB/s [00013883ef800000]
crc32-slicing-by-8
small keys: 2323 MiB/s [0035bf3dcac00000]
crc32-half-byte-lookup
small keys: 218 MiB/s [0035bf3dcac00000]
NEW:
wyhash
small keys: 2775 MiB/s [c14617a1e3800000]
siphash(1,3)
small keys: 1086 MiB/s [b2919222ed400000]
siphash(2,4)
small keys: 789 MiB/s [3c3d974cc2800000]
fnv1a
small keys: 1604 MiB/s [70155e1cb7000000]
adler32
small keys: 1856 MiB/s [00013883ef800000]
crc32-slicing-by-8
small keys: 2336 MiB/s [0035bf3dcac00000]
crc32-half-byte-lookup
small keys: 218 MiB/s [0035bf3dcac00000]
2019-08-21 21:38:02 +12:00
Marc Tiehuis
7854a52a6b
Add iterative-only filter to hash benchmark
2019-08-21 21:02:24 +12:00
Marc Tiehuis
48410943cb
Add more hash functions to benchmark scripts
...
Changed CRC api so the polynomial is specified as an enum for simpler
construction.
2019-08-21 20:46:15 +12:00
Marc Tiehuis
c050ec4e57
Update hash/crypto benchmark scripts
2019-08-21 20:34:12 +12:00
Andrew Kelley
81c441f885
remove incorrect assert regarding 128-bit integers
...
LLVM incorrectly reports 8 as the alignment of i128 on x86_64 but it
correctly reports 16 as the alignment of i128 on aarch64.
closes #3101
2019-08-20 21:17:57 -04:00
Andrew Kelley
2f3ad48c9b
LLD patch: workaround for buggy MACH-O code
...
This reapplies 5ce1a965e02b45a9b3bcb0328f40e08c5585e1e3
to the embedded LLD.
2019-08-20 19:42:41 -04:00
Andrew Kelley
8bb6bf6818
update libcxx to 9.0.0-rc2
...
upstream commit 67a4a12d61bfb10b2410b53c5a43ef9b4a03de7d
2019-08-20 19:36:26 -04:00
Andrew Kelley
37a06f4dcf
update embedded LLD to 9.0.0-rc2
...
upstream commit 67a4a12d61bfb10b2410b53c5a43ef9b4a03de7d
2019-08-20 19:33:58 -04:00
Andrew Kelley
c0bd2eb398
update C headers to clang 9.0.0-rc2
...
upstream commit 67a4a12d61bfb10b2410b53c5a43ef9b4a03de7d
2019-08-20 19:16:06 -04:00
Andrew Kelley
5f3d59f0ac
Merge branch 'master' into llvm9
2019-08-20 19:09:52 -04:00
Andrew Kelley
3b5a8858c2
Merge branch 'euantorano-fix/3012-os-getrandom-fill-buffer'
...
Closes #3016
Closes #3012
Thanks @euantorano!
2019-08-20 15:54:09 -04:00
Andrew Kelley
9bf283c085
fixups
...
* getrandom libc prototypes had the wrong return type
* `total_read` local variable was unnecessary since the sub-slice
buffer has a length
* I was able to get rid of all the integer casts
* the err == 0 check can be a switch case
* add missing `return` statement
2019-08-20 15:25:30 -04:00
Euan Torano
79354243e3
fix os.getrandom logic to fill the entire buffer
2019-08-20 14:52:38 -04:00
Euan Torano
8c32c09807
Fix InStream.readNoEof
2019-08-20 14:52:10 -04:00
Andrew Kelley
c175e53564
add std.c.printf
2019-08-20 14:42:39 -04:00
Andrew Kelley
f0a141f799
Merge branch 'FireFox317-fix-issue-3030'
...
closes #3084
closes #3030
2019-08-20 14:42:02 -04:00
Andrew Kelley
276eb4402b
specify the target for the newest test case
2019-08-20 14:40:57 -04:00
Timon Kruiper
2addec8ea1
compiler error when variable in asm template cannot be found
2019-08-20 14:11:03 -04:00
Marc Tiehuis
2aa18b9097
Merge pull request #3090 from ziglang/fmt-internal
...
fmt changes
2019-08-19 19:48:05 -10:00
Andrew Kelley
3dbed54294
fix @bitCast of packed struct literal
...
closes #3042
2019-08-19 17:50:37 -04:00
Andrew Kelley
07c5e90601
Merge branch 'mikdusan-issue.3010'
...
closes #3022
closes #3010
thanks @mikdusan
2019-08-19 17:36:35 -04:00
Andrew Kelley
6bc520ab95
solve it a slightly different way
...
the error handling of result locations is a bit awkward but it should
basically be the same everywhere
2019-08-19 17:35:19 -04:00
Michael Dusan
24deb1a7fe
fix @bitCast segfault with literal array param
...
closes #3010
2019-08-19 17:24:14 -04:00
Aaron Klapatch
efc2237e5a
added documentation for field access to C pointers ( #3088 )
2019-08-19 16:47:16 -04:00
Andrew Kelley
d067a037cc
fix void array as a local variable initializer
...
Related: #1767
2019-08-19 15:58:31 -04:00
Andrew Kelley
44fb5275c1
fix array multiplication not setting parent value info
...
closes #3095
2019-08-19 14:46:12 -04:00
Andrew Kelley
3f7f520036
don't put libc on the elf linker line for objects
...
closes #3093
2019-08-19 12:33:36 -04:00
Marc Tiehuis
e0447c6ddd
std/fmt: Make FormatOptions arguments non-comptime
...
No need and should help avoid exessive function monomorphizaton.
2019-08-19 22:28:13 +12:00
Marc Tiehuis
98859c885e
std/fmt.zig: Pass full options struct to all internal functions
...
The fill specifier is now handled in some cases. The default fill of '0'
is now ' ' for integers and non-byte sequences.
2019-08-19 22:15:15 +12:00
Nick Erdmann
5a0275c247
fix error message when dependency requires position independent code
2019-08-18 19:33:25 -04:00
Andrew Kelley
ea1734773b
add compile error for async frames depending on themselves
2019-08-17 19:47:49 -04:00
Marc Tiehuis
6844dafeca
std/fmt: Move pointer parsing out of main state machine
...
This allows us to format a pointer with alignment/padding as we would
with any other format specifier.
e.g. {*:5}
2019-08-18 11:06:54 +12:00
Andrew Kelley
57b90d2d98
allow implicit cast of fn to async fn
...
it forces the fn to be async. closes #3079
2019-08-17 17:22:20 -04:00
Andrew Kelley
66a490c27c
detect non-async function pointer of inferred async function
...
closes #3075
2019-08-17 16:49:23 -04:00
Vexu
0ff396c34f
add compile error for incorrect atomic ordering in fence #3082
2019-08-17 16:05:41 -04:00
Andrew Kelley
4d8a6f6fea
fix compiler not checking alignment of function frames
...
closes #3086
2019-08-17 13:04:50 -04:00
Andrew Kelley
456a244d62
fix event loop regression on macos
2019-08-17 11:40:48 -04:00
Andrew Kelley
e24cc2e77b
std.event.Loop: fix not waking up after file system I/O
...
for single threaded event loops
2019-08-16 23:19:13 -04:00
Andrew Kelley
3dce41b61a
improvements to std lib for event-based I/O
2019-08-16 21:29:29 -04:00
Andrew Kelley
c39bb3ebc4
target: add missing switch case
2019-08-16 16:52:45 -04:00
Andrew Kelley
6529658ad8
Merge remote-tracking branch 'origin/master' into llvm9
2019-08-16 16:43:56 -04:00
Andrew Kelley
bf7b6fbbdb
add missing compile error for fn call bad implicit cast
...
when the function's return type handle is a pointer but the result
location's result value type handle is not a pointer
closes #3055
2019-08-16 16:30:24 -04:00
Andrew Kelley
cbca6586e7
add test for struct parameter to async function being copied
...
closes #1155
2019-08-16 13:56:26 -04:00
Andrew Kelley
5a2cbe239f
fix and test case for returning from suspend block
...
See #3063
2019-08-16 13:07:07 -04:00
Vexu
c3407ed097
Merge branch 'master' into comment-in-array
2019-08-16 20:02:47 +03:00