Commit Graph

7695 Commits (d0b12d77267da601e69bd633fe3f56b8bf01c1cf)

Author SHA1 Message Date
Andrew Kelley d0b12d7726
Merge remote-tracking branch 'origin/master' into llvm10 2020-02-03 17:30:38 -05:00
Andrew Kelley 0fdcd5c4cb
Merge pull request #4337 from LemonBoy/stdlib-bsearch
stdlib: Add binary search function
2020-02-03 16:53:00 -05:00
LemonBoy 1658becb62 fmt: Fix one more edge case in container formatting 2020-02-03 16:03:48 -05:00
LemonBoy db3aea3a0b Change API for binarySearch fn 2020-02-03 21:51:03 +01:00
Andrew Kelley 5504f155aa
Merge pull request #4366 from jayschwa/blake3
crypto: Add BLAKE3 hashing algorithm
2020-02-03 15:13:50 -05:00
Michaël Larouche 9b11e5e1f1 Add InstallRawStep to Zig build system that does a similar job to llvm-objcopy. To use it, do 'exe.installRaw("kernel.bin");' where exe is a LibExeObjStep
Part of #2826
2020-02-03 15:07:34 -05:00
Jay Petacat cb2c14e03f blake3: Workaround issue #4373 with named types 2020-02-02 18:44:50 -05:00
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
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
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