Andrew Kelley
cf39819478
add new kind of test: generating .h files. and more
...
* docgen supports obj_err code kind for demonstrating
errors without explicit test cases
* add documentation for `extern enum`. See #367
* remove coldcc keyword and add @setIsCold. See #661
* add compile errors for non-extern struct, enum, unions
in function signatures
* add .h file generation for extern struct, enum, unions
2018-01-22 22:24:07 -05:00
Marc Tiehuis
a7e10565fc
Fix build template to match build runner changes
...
Api changed in 7b57454cc1
.
2018-01-20 13:32:49 +13:00
Jimmi Holst Christensen
d8469e3c7c
usize might be same size as LARGE_INTEGER. If that's the case, then we don't want to compare pos to @maxValue(usize).
2018-01-19 22:08:44 +01:00
Jimmi Holst Christensen
a1a69f24c8
We now make a more correct conversion from windows LARGE_INTEGER type to usize
2018-01-19 22:05:56 +01:00
Jimmi Holst Christensen
61497893d3
Removed bitcast from usize to isize in seekTo
2018-01-19 21:57:13 +01:00
Jimmi Holst Christensen
8be606ec80
Now using the right unexpectedError in seekForward
2018-01-19 21:51:10 +01:00
Jimmi Holst Christensen
a76023bcd8
Removed PLARGE_INTEGER
2018-01-19 21:49:16 +01:00
Jimmi Holst Christensen
90714a3831
Implemented windows versions of seekTo and getPos
2018-01-19 21:30:57 +01:00
Marc Tiehuis
7a3fd89d25
Add Sha3 hashing functions
...
These are on the slower side and could be improved. No performance optimizations
yet have been done.
```
Cpu: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
```
-- Sha3-256
```
Zig --release-fast
93 Mb/s
Zig --release-safe
99 Mb/s
Zig
4 Mb/s
```
-- Sha3-512
```
Zig --release-fast
49 Mb/s
Zig --release-safe
54 Mb/s
Zig
2 Mb/s
```
Interestingly, release-safe is producing slightly better code than
release-fast.
2018-01-17 21:19:45 +13:00
Marc Tiehuis
dfd5363494
Add throughput test program
...
Blake performance numbers for reference:
```
Cpu: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
```
-- Blake2s
```
Zig --release-fast
485 Mb/s
Zig --release-safe
377 Mb/s
Zig
11 Mb/s
```
-- Blake2b
```
Zig --release-fast
616 Mb/s
Zig --release-safe
573 Mb/s
Zig
18 Mb/s
```
2018-01-17 21:19:45 +13:00
Marc Tiehuis
7af53d0826
Fix crypto exports
2018-01-17 21:19:45 +13:00
Andrew Kelley
1eda7e0fde
docgen: support executing exe code examples
...
See #465
2018-01-17 01:50:35 -05:00
Andrew Kelley
5aefabe045
docgen: validate See Also sections
...
See #465
2018-01-17 00:22:53 -05:00
Andrew Kelley
2774fe8a1b
docgen auto generates table of contents
...
See #465
2018-01-17 00:22:53 -05:00
Josh Wolfe
24c2ff5cae
Revert "Buffer.toSliceCopy"
...
This reverts commit c58f5a4742
.
2018-01-16 13:45:34 -07:00
Josh Wolfe
c58f5a4742
Buffer.toSliceCopy
2018-01-16 13:28:53 -07:00
Marc Tiehuis
73b4f09845
Add crypto internal test functions
2018-01-17 00:20:20 +13:00
Marc Tiehuis
66a24c9c00
Merge branch 'master' into blake2
2018-01-17 00:20:06 +13:00
Marc Tiehuis
fa7b33549e
Change crypto functions to fill a buffer
...
- Rename blake2x -> blake2
- Fix blake2s truncated tests
2018-01-17 00:17:48 +13:00
Andrew Kelley
5a4968484b
Merge branch 'wip-err-ret-trace'
2018-01-15 16:28:30 -05:00
Andrew Kelley
6ec9933fd8
fix getting debug info twice in default panic handler
2018-01-15 16:26:13 -05:00
Marc Tiehuis
4cf86b4a94
Add Blake2X hash functions
...
The truncated output variants currently are dependent on a more complete
bigint implementation in the compiler.
2018-01-15 23:14:13 +13:00
Andrew Kelley
c9ac607bd3
add builtin.have_error_return_tracing
2018-01-15 00:14:14 -05:00
Andrew Kelley
7b57454cc1
clean up error return tracing
...
* error return tracing is disabled in release-fast mode
* add @errorReturnTrace
* zig build API changes build return type from `void` to `%void`
* allow `void`, `noreturn`, and `u8` from main. closes #535
2018-01-15 00:01:02 -05:00
Andrew Kelley
793f031c4c
remove 32-bit windows from supported targets list
...
we still want to support it, but there are too many bugs
to claim that we support it right now.
See #537
2018-01-14 15:17:07 -05:00
Andrew Kelley
971a6fc531
fix duplicate stack trace code
2018-01-14 10:19:21 -05:00
Marc Tiehuis
9be9f1ad20
Disable win32 tests for Sha2 + correct lengths
2018-01-14 09:58:30 +13:00
Marc Tiehuis
1f3ed5cf27
Change indexing variable types for crypto functions
2018-01-13 22:44:58 +13:00
Marc Tiehuis
2659ac01be
Add Sha2 functions
...
We take the fastest time measurement taken across multiple runs. Tested
across multiple compiler flags and the best chosen.
```
Cpu: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
Gcc: 7.2.1 20171224
Clang: 5.0.1
Zig: 0.1.1.304f6f1d
```
See https://www.nayuki.io/page/fast-sha2-hashes-in-x86-assembly .
```
Gcc -O2
219 Mb/s
Clang -O2
213 Mb/s
Zig --release-fast
284 Mb/s
Zig --release-safe
211 Mb/s
Zig
6 Mb/s
```
```
Gcc -O2
350 Mb/s
Clang -O2
354 Mb/s
Zig --release-fast
426 Mb/s
Zig --release-safe
300 Mb/s
Zig
11 Mb/s
```
2018-01-13 22:37:47 +13:00
Marc Tiehuis
51fdbf7f8c
Add Md5 and Sha1 hash functions
...
Some performance comparisons to C.
We take the fastest time measurement taken across multiple runs.
The block hashing functions use the same md5/sha1 methods.
```
Cpu: Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz
Gcc: 7.2.1 20171224
Clang: 5.0.1
Zig: 0.1.1.304f6f1d
```
See https://www.nayuki.io/page/fast-md5-hash-implementation-in-x86-assembly :
```
gcc -O2
661 Mb/s
clang -O2
490 Mb/s
zig --release-fast and zig --release-safe
570 Mb/s
zig
50 Mb/s
```
See https://www.nayuki.io/page/fast-sha1-hash-implementation-in-x86-assembly :
```
gcc -O2
588 Mb/s
clang -O2
563 Mb/s
zig --release-fast and zig --release-safe
610 Mb/s
zig
21 Mb/s
```
In short, zig provides pretty useful tools for writing this sort of
code. We are in the lead against clang (which uses the same LLVM
backend) with us being slower only against md5 with GCC.
2018-01-13 14:40:21 +13:00
Marc Tiehuis
304f6f1d01
Add integer rotation functions
2018-01-13 13:23:12 +13:00
Andrew Kelley
32ea6f54e5
*WIP* proof of concept error return traces
2018-01-12 02:12:11 -05:00
Marc Tiehuis
899e36489d
Fix endian swap parameters
2018-01-11 19:50:08 +13:00
Andrew Kelley
891c93c118
Merge pull request #681 from zig-lang/hw-math
...
Add hw sqrt for x86_64
2018-01-10 10:22:40 -05:00
Marc Tiehuis
24cd99160c
Add hw sqrt for x86_64
2018-01-10 19:53:36 +13:00
Andrea Orru
19343db593
Intrusive linked lists
2018-01-10 00:33:07 -05:00
Andrew Kelley
3c094116aa
remove %% prefix operator
...
See #632
closes #545
closes #510
this makes #651 higher priority
2018-01-09 00:51:51 -05:00
Andrea Orru
98a95cc698
exit, createThread for zen
2018-01-08 12:16:23 -05:00
Andrew Kelley
632d143bff
replace a %% b
with a catch b
...
See #632
better fits the convention of using keywords for control flow
2018-01-07 17:28:20 -05:00
Andrew Kelley
66717db735
replace %return
with try
...
See #632
better fits the convention of using keywords for control flow
2018-01-07 16:53:13 -05:00
Andrea Orru
3182857224
Adding zen support
2018-01-07 04:43:08 -05:00
Andrea Orru
ad438cfd40
Merge branch 'master' of github.com:zig-lang/zig
2018-01-06 23:13:51 -05:00
Andrea Orru
e932919e68
Darwin -> MacOSX, added Zen. See #438
2018-01-06 23:10:53 -05:00
Jimmi Holst Christensen
e91136d61f
Fixed the call to mem.readInt in endian.swap
2018-01-07 00:24:35 +01:00
Jimmi Holst Christensen
6f85c860c6
Fixed the call to mem.readInt in Rand.scalar
2018-01-07 00:24:17 +01:00
Andrew Kelley
dde7cc52d2
fix exp1m implementation
...
in the llvm6 branch with assertions on, it failed the test
this fixes it
2018-01-06 02:58:45 -05:00
Andrew Kelley
79d50d9933
appveyor: enable verbose link for self hosted compiler
2018-01-04 23:43:46 -05:00
Andrew Kelley
7e65fe7ac3
fix test regressions on windows from previous commit
2018-01-04 16:36:59 -05:00
Andrew Kelley
d008e209e7
self-hosted compiler works on macos
2018-01-04 15:30:22 -05:00
Andrew Kelley
e1c03d9e8e
self-hosted compiler works on windows
...
* better error message for realpath failing
* fix bug in std.io.readFileAllocExtra incorrectly returning
error.EndOfStream
* implement std.os.selfExePath and std.os.selfExeDirPath for windows
2018-01-04 13:48:45 -05:00