Veikka Tuominen
f6cedfaaca
Merge pull request #6160 from extrasharp/keyword-documentation
...
Add Keyword Reference section
2020-08-27 16:12:18 +03:00
Asherah Connor
dc7608da97
ensure main return type is not i8
...
Avoids a compile error from start.zig:
/home/kivikakk/zig/build/lib/zig/std/start.zig:265:28: error:
expected type 'u8', found 'i8'
return result;
^
/home/kivikakk/zig/build/lib/zig/std/start.zig:265:28: note:
unsigned 8-bit int cannot represent all possible signed 8-bit
values
return result;
2020-08-27 15:03:56 +03:00
Cléo Rebert
fc001110b4
Added edge case test to mem.count
...
Some implementations break on this edge case. Thought relevant to add it.
2020-08-27 04:12:28 -04:00
Andrew Kelley
5fed721290
Merge branch 'Vexu-stage2'
...
closes #6175
2020-08-26 19:53:49 -07:00
Andrew Kelley
b0995cb9f9
stage2: correct logic for analyzeIsNull
2020-08-26 19:53:36 -07:00
Vexu
cc26cb9b23
stage2: codegen needed for basic for loop
2020-08-26 19:50:56 -07:00
Vexu
fb28349349
stage2: astgen catch
2020-08-26 19:50:56 -07:00
Vexu
bf014d529a
stage2: array access astgen
2020-08-26 19:50:56 -07:00
Vexu
bcd04089eb
stage2: add helpful error message for invalid for operands
2020-08-26 19:50:56 -07:00
Vexu
b1aa2857ff
stage2: astgen for loops
2020-08-26 19:50:56 -07:00
Sobeston
7d0bb0774e
std.mem.count
2020-08-26 17:37:05 -04:00
Andrew Kelley
091d693c53
Merge pull request #6164 from jedisct1/cryptobench
...
Improve crypto benchmarks
2020-08-26 17:30:31 -04:00
Frank Denis
ad18078d53
forceEval() -> doNotOptimizeAway()
2020-08-26 10:50:34 +02:00
Frank Denis
0bd53dd203
Rename blackBox, move it to std.mem.forceEval()
2020-08-26 10:50:34 +02:00
Frank Denis
ff2e82f382
Rename at to tag in AEADs
2020-08-26 10:50:34 +02:00
Frank Denis
b8729ca1a0
Improve crypto benchmarks
...
- 1MiB objects on the stack doesn't play well with wasmtime.
Reduce these to 512KiB so that the webassembly benchmarks can run.
- Pass expected results to a blackBox() function. Without this, in
release-fast mode, the compiler could detected unused return values,
and would produce results that didn't make sense for siphash.
- Add AEAD constructions to the benchmarks.
- Inline chacha20Core() makes it 4 times faster.
- benchmarkSignatures() -> benchmarkSignature() for consistency.
2020-08-26 10:50:34 +02:00
Andrew Kelley
3abf9e1457
Merge pull request #6163 from ziglang/stage2-condbr
...
stage2: codegen for conditional branching
2020-08-26 04:02:43 -04:00
Andrew Kelley
0c5faa61ae
stage2: codegen: fix reuseOperand not doing death bookkeeping
2020-08-26 01:00:04 -07:00
Andrew Kelley
237d9a105d
stage2: support debug dumping zir as a build option
...
So that it's not needed to manually comment and uncomment the debug
code.
2020-08-25 22:44:18 -07:00
Andrew Kelley
e97157f71c
stage2: codegen for conditional branching
...
* Move branch-local register and stack allocation metadata to the
function-local struct. Conditional branches clone this data in order
to restore it after generating machine code for a branch.
Branch-local data is now only the instruction table mapping *ir.Inst
to MCValue.
* Implement conditional branching
- Process operand deaths
- Handle register and stack allocation metadata
* Avoid storing unreferenced or void typed instructions into
the branch-local instruction table.
* Fix integer types reporting the wrong value for hasCodeGenBits.
* Remove the codegen optimization for eliding length-0 jumps. I need to
reexamine how this works because it was causing invalid jumps to be
emitted.
2020-08-25 22:44:18 -07:00
Andrew Kelley
b68fa9970b
stage2 codegen: Rework genCondBr
...
so that the arch-independent logic isn't buried and duplicated.
2020-08-25 22:44:18 -07:00
Jakub Konka
982ab7df6c
Merge pull request #6161 from kubkon/macho-text
...
Add (empty) __TEXT segment load command
2020-08-26 07:03:58 +02:00
Jakub Konka
55dc81ba2a
Hardcode runtime (libSystem) version to minimum possible
...
While we try to work out what the correlation between the OS and runtime
versions is, this commit hardcodes the latter to the minimum (compat)
version of 1.0.0.
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-08-26 06:30:54 +02:00
Andrew Kelley
3e24e95892
std.rand: promote normal comments to doc comments
2020-08-25 19:51:40 -07:00
Andrew Kelley
b498eebfd4
std.math.big: fix use-after-free
...
When there is parameter aliasing, the ensureCapacity calls can cause the
Const parameters to become dangling pointers.
See #6167
2020-08-25 19:49:40 -07:00
Andrew Kelley
973e6c978c
std: clean up GeneralPurposeAllocator memset code
...
The freeSlot function was only called once so I inlined the logic and
utilized some of the other locals that were in scope.
2020-08-25 19:48:39 -07:00
Andrew Kelley
6fb105fdd7
std: GeneralPurposeAllocator: set freed bytes to undefined
...
Helps catch use-after-free. Caught a couple issues in the self-hosted
compiler.
2020-08-25 13:36:40 -07:00
Andrew Kelley
ea6a076065
stage2: fix use-after-free in elf linker code
2020-08-25 13:36:15 -07:00
Andrew Kelley
84d50c892d
stage2: astgen: kill the "lvalue" ResultLoc tag
2020-08-24 16:13:10 -07:00
Andrew Kelley
b30c538076
Merge branch 'Vexu-stage2'
...
closes #6148
2020-08-24 15:42:30 -07:00
Andrew Kelley
16d54c70eb
stage2: getErrorValue takes advantage of HashMap getOrPut API
2020-08-24 15:41:59 -07:00
Vexu
5de9aac749
stage2: error set types
2020-08-24 15:36:42 -07:00
Vexu
bc1d55a1d1
stage2: fix field access of array pointers
2020-08-24 15:36:42 -07:00
Vexu
1520e084cb
stage2: implement accessing error values
2020-08-24 15:36:42 -07:00
Vexu
e9b15ac9a0
stage2: error set declarations
2020-08-24 15:36:42 -07:00
Vexu
16d7db59ed
stage2: anyframe and error union types
2020-08-24 15:36:42 -07:00
Vexu
d62c12e077
stage2: astgen prefix ops
2020-08-24 15:36:42 -07:00
extrasharp
d4b1ed1bc9
Add "table-wrapper" div
2020-08-24 17:29:53 -05:00
Andrew Kelley
fd9f509d6d
Revert "Merge pull request #6137 from Jan200101/update/glibc-2.32"
...
This reverts commit bb9c3118ed5fdc16b8e2d9882375005c2a62d0cc, reversing
changes made to 7015d84e0ca6f02fede45621571084df98dda712.
This is missing quite a few headers
2020-08-24 15:19:34 -07:00
Rocknest
140c599559
Fix & update windows version stuff ( #6157 )
...
* Update windows version constants
* Add docs
2020-08-24 16:47:44 -04:00
Jakub Konka
43b6d0e4b1
Add (empty) __TEXT segment load command
...
Also, link against `libSystem` by default when targeting macOS.
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-08-24 21:18:27 +02:00
extrasharp
4d1710c899
Make changes
2020-08-24 13:12:23 -05:00
extrasharp
7d6ed1cd85
Add Keyword Reference section
2020-08-24 11:11:42 -05:00
Jakub Konka
9745e7b512
Clean up draft for merging into upstream
...
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-08-24 17:59:44 +02:00
Jakub Konka
1698e6d7a7
Link against libSystem when generating Mach-O exe
...
This is required when generating an exe on macOS.
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-08-24 17:59:44 +02:00
Jakub Konka
2516db9645
Specify path to dyld in Mach-O
...
This is required since an exec on macOS always has to link against
libSystem.dylib.
Signed-off-by: Jakub Konka <kubkon@jakubkonka.com>
2020-08-24 17:59:44 +02:00
Vexu
c1ee9efb7c
fix error note using invalid source node
...
Closes #6153
2020-08-24 15:24:00 +03:00
Vexu
9589dc4c95
add error checks to @Type
2020-08-24 11:13:43 +03:00
Andrew Kelley
4d7013f7d3
Merge pull request #6146 from daurnimator/no_ctty
...
Use O_NOCTTY open flag
2020-08-23 23:26:58 -04:00
Andrew Kelley
385786eedc
Merge pull request #6097 from joachimschmidt557/stage2-arm
...
Start working on stage2 ARM backend
2020-08-23 23:07:23 -04:00