8840 Commits

Author SHA1 Message Date
LemonBoy
958f00f1c7 Don't generate any type info for void return types
Closely matches what the LLVM debug emitter expects, the generated DWARF
infos are now standard-compliant.
2020-02-02 15:30:12 -05:00
Andrew Kelley
a795c36d7b
Merge pull request #4352 from LemonBoy/fix-4349
fmt: Respect trailing commas in field declarations
2020-02-02 15:27:53 -05:00
frmdstryr
32291ab702 Add support for dependent packages when using build.zig 2020-02-02 15:21:27 -05:00
Jay Petacat
923e567c6d blake3: Replace &arr with arr[0..] for slice args 2020-02-02 14:59:36 -05:00
Jay Petacat
b143fc0d32 blake3: Name and const pointer refinements 2020-02-02 14:42:57 -05:00
Jay Petacat
d098e212ad blake3: Convert *const [n]u8 types to [n]u8
I do not see many cases of constant pointers to arrays in the stdlib.
In fact, this makes the code run a little faster, probably because Zig
automatically converts to pointers where it makes sense.
2020-02-02 14:08:10 -05:00
Vexu
35c40f0a70
fix regressions 2020-02-02 10:49:51 +02:00
Jay Petacat
4b86c1e3bb crypto: Add BLAKE3 hashing algorithm
This is a translation of the [official reference implementation][1] with
few other changes. The bad news is that the reference implementation is
designed for simplicity and not speed, so there's a lot of room for
performance improvement. The good news is that, according to the crypto
benchmark, the implementation is still fast relative to the other
hashing algorithms:

```
         md5: 430 MiB/s
        sha1: 386 MiB/s
      sha256: 191 MiB/s
      sha512: 275 MiB/s
    sha3-256: 233 MiB/s
    sha3-512: 137 MiB/s
     blake2s: 464 MiB/s
     blake2b: 526 MiB/s
      blake3: 576 MiB/s
    poly1305: 1479 MiB/s
    hmac-md5: 653 MiB/s
   hmac-sha1: 553 MiB/s
 hmac-sha256: 222 MiB/s
      x25519: 8685 exchanges/s
```

[1]: https://github.com/BLAKE3-team/BLAKE3
2020-02-01 23:03:23 -05:00
Vexu
3b23929be5
use std.c.tokenizer in translate-c 2020-02-02 01:40:46 +02:00
daurnimator
4f2652d504 Winsock errors can be an enum 2020-02-01 14:29:16 -05:00
LemonBoy
0bf91cce58 windows: Minor changes to psapi prototypes 2020-02-01 13:43:46 -05:00
LemonBoy
e548195fd5 fmt: Use left brace position instead of the right one
Fix a typo and add a test case.
2020-02-01 15:28:23 +01:00
LemonBoy
f34abbf260 fmt: Handle declarations in line with the opening brace 2020-02-01 14:43:31 +01:00
LemonBoy
3640c682a2 Run zig fmt 2020-02-01 11:32:53 +01:00
LemonBoy
8309ee8752 fmt: Respect trailing comma for field declarations
Closes #4349
2020-02-01 11:28:21 +01:00
Andrew Kelley
e6a812c827
Merge pull request #4340 from daurnimator/ntstatus-as-enum
Windows error codes as non-exhaustive enums
2020-01-31 18:27:17 -05:00
LemonBoy
dee7804a81 fmt: Fix logic to find the argument list closing )
Closes #4341
2020-01-31 18:25:58 -05:00
Andrew Kelley
a62b4f268a
Merge pull request #4347 from LemonBoy/psapi
windows: Add psapi API
2020-01-31 18:25:25 -05:00
LemonBoy
c910aa8555 windows: Add GetCurrentProcess definition 2020-02-01 00:01:09 +01:00
LemonBoy
9ffc13b6c4 windows: Add psapi API
Export both the "old-style" definitions from psapi and the "new-style"
ones from kernel32.
2020-01-31 23:50:26 +01:00
daurnimator
ab46713fa6 std: update for linux 5.5 release 2020-01-31 10:18:17 -05:00
daurnimator
a351350b88
std: format non-exhaustive enums 2020-01-31 22:33:56 +11:00
daurnimator
b9f720365c
Turn win32 errors into a non-exhaustive enum 2020-01-31 22:33:55 +11:00
daurnimator
7cf0b02ab4
NTSTATUS is a non-exhaustive enum 2020-01-31 22:33:17 +11:00
LemonBoy
176bc53858 translate-c: Fix translation of fn pointers
Closes #4332
2020-01-30 21:33:50 -05:00
meme
1e78070a40 build: Fix missing dupe
- Strange memory corruption issues occur when allocated memory is passed to the builder and it is `defer`'d and freed
- Instead, `dupe` the string as is done in other handlers, this fixes the issue
2020-01-30 20:57:31 -05:00
Andrew Kelley
644a344715
self-hosted: add missing arch switch prong 2020-01-30 18:45:25 -05:00
Andrew Kelley
a475877007
fix translate-c regression
clang.zig had incorrect enum for builtin types
2020-01-30 18:43:54 -05:00
Andrew Kelley
c5df0b3e9d
set llvm cpu features to null for exynosm1,exynosm2
llvm dropped support for these features
2020-01-30 18:43:28 -05:00
LemonBoy
fd8d8afb24 stdlib: Add binary search function 2020-01-31 00:40:43 +01:00
LemonBoy
d27678fe83 fmt: Refactor the arg fetching code
* Error out if the requested index is out-of-bound
* Tidy-up all the arg-related variables in a struct
2020-01-30 18:07:02 -05:00
Andrew Kelley
17c8f108a4
drop @newStackCall
this was causing unrelated behavior tests to fail.

if this commit is reverted, the docs are good, but `@newStackCall` is
already deprecated in favor of `@call`, supplying the `stack` property.
2020-01-30 17:51:55 -05:00
Andrew Kelley
13f7824266
Merge pull request #4326 from LemonBoy/fix-4181
Generate compilable code for array inits
2020-01-30 16:12:23 -05:00
Andrew Kelley
4d2fed6232
zig fmt behavior tests 2020-01-30 16:10:08 -05:00
Andrew Kelley
58c97b3561
fix llvm assertion with debug info for vectors 2020-01-30 15:30:38 -05:00
Andrew Kelley
7b5f4a8d10
fix llvm assertion with debug info for vectors 2020-01-30 15:30:03 -05:00
LemonBoy
979c69d6b2 Amend some failing test cases 2020-01-30 19:53:35 +01:00
LemonBoy
c944865fc7 Generate compilable code for array inits
The compiler still doesn't like too much the newfangled anonymous arrays
so let's use the old-style declarations.

Closes #4181
2020-01-30 19:45:08 +01:00
Shawn Landden
cbd42e44d6 rb: fix rb.Node.getLast() that never worked 2020-01-30 12:05:57 -05:00
Andrew Kelley
70ee818d21
update target CPUs and features with llvm10's data
based on zig-llvm-target-details-generator
commit 3aef1b9b4415ed3acfaea4ce8bc233e213548f71
2020-01-30 11:31:41 -05:00
Andrew Kelley
14d9582e9a
ci: don't rely on sourcehut's pkg system 2020-01-30 10:23:00 -05:00
Andrew Kelley
65b1a4953f
Merge pull request #4324 from fengb/testing-allocator
Remove debug.global_allocator in favor of testing.allocator
2020-01-30 10:01:40 -05:00
Andrew Kelley
e3a383a661
Merge pull request #4239 from shawnl/rb
rb: **breaking** change API to be thread-safe
2020-01-30 09:45:35 -05:00
Andrew Kelley
0303e7bd8e
Merge pull request #4319 from Rocknest/windows-traces
Bring windows segfault handler on par with linux
2020-01-30 09:26:39 -05:00
LemonBoy
e77a102e24 Small DWARF fixups
* Clang doesn't seem to emit a DW_AT_low_pc together with DW_AT_ranges
  for asm files.
* Keep reading the other CUs if the lookup fails.
2020-01-30 09:11:02 -05:00
Rocknest
a5f18c2b2a Fix one more edge case 2020-01-30 10:00:28 +02:00
Benjamin Feng
9c196efa2a Add explicit error message for too many frees 2020-01-30 01:12:21 -06:00
Rocknest
94f29ae117 Remove intCast's 2020-01-30 08:53:38 +02:00
Benjamin Feng
46d84a1b63 Convert a few more page_allocator 2020-01-30 00:27:44 -06:00
Benjamin Feng
c1fb97aef6 Remove unnecessary allocator from mutex 2020-01-30 00:27:44 -06:00