Andrew Kelley
c71991c869
fix compilation errors for emitRaw
2020-03-11 14:34:13 -04:00
Andrew Kelley
51c6bb92b1
Merge pull request #4709 from LemonBoy/implement-2096
...
Stricter shift left/right safety checks
2020-03-11 14:22:40 -04:00
Andrew Kelley
d96b6c0d9f
fix footguns in File readAll functions
2020-03-11 13:06:30 -04:00
Heppokoyuki
58941927c4
refactor
2020-03-12 00:24:00 +09:00
Heppokoyuki
02ba1d8fe1
add file protocols
2020-03-12 00:24:00 +09:00
Vexu
9262f065f5
Move abi size checking to codegen
2020-03-11 16:48:18 +02:00
Vexu
ec906a9771
fix codegen, update docs
2020-03-11 13:55:52 +02:00
Vexu
1f66435a6b
support cmpxchg at comptime
2020-03-11 12:02:05 +02:00
Vexu
64e60d8ae2
special case atomic operations on zero bit types
2020-03-11 10:29:15 +02:00
Vexu
21809c3300
support non power of two integers in atomic ops
2020-03-11 09:24:53 +02:00
Andrew Kelley
ed13cffca4
rework some old ELF parsing code and start to fix emitRaw
2020-03-10 22:01:58 -04:00
Andrew Kelley
bd14a81e30
fix std.ChildProcess on Windows
2020-03-10 21:09:49 -04:00
Andrew Kelley
d882a30587
fix stage2 lib on windows
2020-03-10 20:51:30 -04:00
Andrew Kelley
2bff0dda79
fix regressions found by test suite
2020-03-10 20:22:30 -04:00
Andrew Kelley
9abee660dc
fix stack trace code not opening files in forced blocking mode
2020-03-10 19:28:05 -04:00
Andrew Kelley
cd26d3b0bb
fix regressions caused earlier in this branch
2020-03-10 18:54:24 -04:00
LemonBoy
2f1052a313
std: Fix broken tests
2020-03-10 23:50:04 +01:00
Andrew Kelley
18f1fef142
update standard library to new I/O streams API
2020-03-10 18:44:30 -04:00
Michael Dusan
83f6f730cd
std: simplify format enum-literals
2020-03-10 18:09:41 -04:00
LemonBoy
4ab13a359d
ir: Fix shift code for u0 operands
2020-03-10 23:04:49 +01:00
Vexu
ee5b00a8b9
use atomic bools in std lib
2020-03-10 22:54:47 +02:00
Vexu
8dc188ebe0
support atomic operations with bools
2020-03-10 22:33:32 +02:00
Andrew Kelley
b6fbd524f1
(breaking) improve and simplify fixed buffer streams API
2020-03-10 16:31:04 -04:00
LemonBoy
300fceac6e
ir: Implement more safety checks for shl/shr
...
The checks are now valid on types whose size is not a power of two.
Closes #2096
2020-03-10 20:54:05 +01:00
Andrew Kelley
ba0e3be5cf
(breaking) rework stream abstractions
...
The main goal here is to make the function pointers comptime, so that we
don't have to do the crazy stuff with async function frames.
Since InStream, OutStream, and SeekableStream are already generic
across error sets, it's not really worse to make them generic across the
vtable as well.
See #764 for the open issue acknowledging that using generics for these
abstractions is a design flaw.
See #130 for the efforts to make these abstractions non-generic.
This commit also changes the OutStream API so that `write` returns
number of bytes written, and `writeAll` is the one that loops until the
whole buffer is written.
2020-03-10 15:32:32 -04:00
Vexu
1ad831a0ef
fix zig fmt on noasync block
2020-03-10 15:27:11 -04:00
Jonathan Marler
90c232bbe8
add allocSentinel function
2020-03-10 15:03:59 -04:00
Andrew Kelley
9c4dc7b1bb
Merge pull request #4703 from Vexu/translate-c
...
Translate-c improvements
2020-03-10 12:56:17 -04:00
LemonBoy
3e93dce0a1
std: Fix detection of Linux kernel version
2020-03-10 12:55:35 -04:00
Vexu
cb4c488cbd
translate-c support struct field alignment
2020-03-10 15:57:57 +02:00
Vexu
4cace8f7c3
properly mangle shadowed primitive types
2020-03-10 15:52:54 +02:00
Vexu
baec74645d
translate-c add daurnimator's pointer check to macro cast
2020-03-10 15:52:03 +02:00
Andrew Kelley
675f01f176
Merge pull request #4590 from xackus/fix-4587
...
fix failed assert on generic fn opaque return type
2020-03-09 22:10:57 -04:00
LemonBoy
1f44b29724
ir: Fix codegen of ?*T types where T is zero-sized
...
* Fix codegen for optional types that decay to a pointer, the type
behaves as a boolean
* Fix comptime evaluation of zero-sized arrays, always initialize the
internal array elements
Closes #4673
2020-03-09 22:08:56 -04:00
Andrew Kelley
638d5c3aca
Merge pull request #4700 from Vexu/noasync
...
Implement new noasync syntax
2020-03-09 18:36:01 -04:00
xackus
e7cc456421
better error messages and more tests
2020-03-09 22:33:18 +01:00
Andrew Kelley
52c01840ce
Merge branch 'LemonBoy-fix-4527'
...
closes #4531
2020-03-09 14:24:51 -04:00
Andrew Kelley
7db6da7cb8
lazy_cmp_zero only resolves type is zero bits for alignof
2020-03-09 14:24:04 -04:00
LemonBoy
14bbb82832
ir: Fix lazy comparison between @alignOf and zero
...
Closes #4527
2020-03-09 14:05:38 -04:00
daurnimator
648f94c027
std: add some definitions for netlink sockets
2020-03-09 13:02:38 -04:00
Andrew Kelley
6ab156ce7d
Merge pull request #4695 from leroycep/feature-inode-stat
...
Expose file inode number on posix and file index on windows
2020-03-09 13:01:26 -04:00
Ryan Liptak
9b1b44b41c
Windows: Fix std.fs.realpath/os.realpathW for directories
2020-03-09 12:59:17 -04:00
Vexu
3fd2cd4367
add LemonBoy's test
2020-03-09 18:43:09 +02:00
Vexu
03c1431f9c
disallow resume and suspend in noasync scopes
2020-03-09 15:51:51 +02:00
Vexu
3618256c97
implement noasync scopes
2020-03-09 12:33:24 +02:00
Vexu
6f8d732599
update parsers to new noasync syntax
2020-03-09 12:23:30 +02:00
Lachlan Easton
0db108101a
Translate C: Add comment containing c source location for failed decls
2020-03-09 18:10:41 +11:00
LeRoyce Pearson
25d9ab95dd
Use os.ino_t for everything
...
Also, define ino_t for windows
2020-03-08 21:52:36 -06:00
LeRoyce Pearson
cb84875eed
Define ino_t for systems not yet defining it
...
Also, use ino_t instead of u64 in fs.File.INode
2020-03-08 18:31:18 -06:00
LemonBoy
e2fd289a33
ir: Create usize result_loc for array subscript expr
...
Allow the subscript expression to infer the resulting type.
Closes #4169
2020-03-08 18:52:44 -04:00