Commit Graph

7017 Commits (ed2a19dcecf5470ae2529e0fc7f86bf89d532162)

Author SHA1 Message Date
daurnimator 19f26578c0
std: windows sockaddr constants come from ws2_32 2019-11-27 13:01:32 +11:00
daurnimator 8aa3d6019c
std: add windows.USHORT definition 2019-11-27 13:01:30 +11:00
daurnimator 254c79125b
std: fix WSAIoctl definition
zig automatically passes functions as pointers
2019-11-27 13:01:28 +11:00
daurnimator d99f0a2b8f
std: IO_STATUS_BLOCK's status member is an NTSTATUS; add union 2019-11-27 13:01:10 +11:00
daurnimator 1537d4701e
std: fix definition of NtDeviceIoControlFile 2019-11-27 13:01:09 +11:00
daurnimator a453c99ba9
std: add comments for some nt status codes 2019-11-27 13:01:08 +11:00
daurnimator 2c6788d7de
std: add windows.closesocket 2019-11-27 13:01:07 +11:00
daurnimator 6b5b0e6cd6
std: fix windows.GetOverlappedResult 2019-11-27 13:01:05 +11:00
daurnimator ce9966a39b
std: improved windows.DeviceIoControl 2019-11-27 13:01:04 +11:00
daurnimator b05a5a3e52
std: add CreateEvent for windows 2019-11-27 13:01:03 +11:00
daurnimator 78c0d33eb7
std: add WaitForMultipleObjects for windows 2019-11-27 13:01:02 +11:00
daurnimator 21ca54f560
std: add alertable argument for windows.WaitForSingleObject 2019-11-27 13:00:59 +11:00
kprotty ff445814cb
remove wait timeout test cases 2019-11-26 20:40:28 -05:00
kprotty 056b5a26c9
ResetEvent: get abstime based on std.time 2019-11-26 20:40:28 -05:00
kprotty ca2d566ec8
replace ThreadParker with ResetEvent + WordLock mutex 2019-11-26 20:40:27 -05:00
kprotty a0955990dc
fix ResetEvent windows bugs 2019-11-26 20:40:04 -05:00
kprotty ef208fee3c
Definition fixups & ResetEvent test cases 2019-11-26 20:40:04 -05:00
kprotty 9bce97a479
Start on ResetEvent 2019-11-26 20:40:04 -05:00
Andrew Kelley 8ecd6c4d8c
add compiler note for bad int coercion
closes #3724
2019-11-26 19:50:52 -05:00
syscall0 a6ef83cccf Fix build system crash when compiling windows dll 2019-11-26 15:40:31 -05:00
Vexu 0d55075de4
fix command functions not being async pointers 2019-11-26 22:38:05 +02:00
Vexu 798d05dd02
add workaround for #3190 2019-11-26 22:11:04 +02:00
Vexu 379d547603
add missing cast to generic function call result 2019-11-26 14:32:37 -05:00
Vexu 0e405c5fc5
add missing cast to call result type 2019-11-26 14:32:34 -05:00
Andrew Kelley 7de138ad7c
std.elf: breaking improvements to the API
and also integration with std.Target.Arch
2019-11-26 14:25:35 -05:00
Benjamin Feng aca1367533 Optimize binary search algorithm 2019-11-26 13:09:58 -05:00
Vexu 128034481a
solve recursion in self hosted 2019-11-26 18:25:29 +02:00
Vexu 36849d8a7b
fixes and cleanup in self hosted 2019-11-26 11:52:12 +02:00
Andrew Kelley 76f21852f6 Merge branch 'gereeter-o_path'
closes #3743
2019-11-25 23:46:59 -05:00
Jonathan S ec569ff26a Or in O_DIRECTORY in openDirFlagsC to capture the fact that it is intended for opening directories 2019-11-25 23:46:48 -05:00
Jonathan S 8baf226d69 Add missing shortening of os.windows. 2019-11-25 23:46:48 -05:00
Jonathan S 4014a8e4b4 Avoid deprecated cwd-based functions for opening directories, preferring to open explicitly relative to `Dir.cwd()`. 2019-11-25 23:46:48 -05:00
Jonathan S 001334266a Don't pass `FILE_LIST_DIRECTORY` in `openDirTraverseW`. 2019-11-25 23:46:48 -05:00
Jonathan S 51c5740879 Use a specific access mask in `Dir.openDirListW` instead of a generic one. Untested.
The actual desired access mask in this case seems quite confusing and badly documented. The previous combination of `GENERIC_READ` and `SYNCHRONIZE` seems both illegal and redundant according to the [`ntifs.h` documentation](https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/ntifs/nf-ntifs-ntcreatefile), which specifies that `GENERIC_READ` should not be used for directories and includes `SYNCHRONIZE`. `winnt.h` contains a number of relevant-sounding flags such as `FILE_ADD_FILE`, `FILE_ADD_SUBDIRECTORY`, and `FILE_DELETE_CHILD` that do not show up in documentation at all. These are equal in value to file-specific flags that are documented as flags you should not specify when opening a directory.
2019-11-25 23:46:47 -05:00
Jonathan S 07120c8745 Use `O_PATH` where available in `std.fs.Dir.openPathTraverse`. 2019-11-25 23:46:47 -05:00
Jonathan S 17bc1f62a5 Split `std.fs.Dir.openDir` into `openDirList` and `openDirTraverse` to clarify what directories can be iterated. Closes ziglang/zig#3741.
The Windows-inspired nomenclature of "List" and "Traverse" was chosen over POSIX-style "Read" and "Path" (from `O_PATH`) for clarity. Using "Path" makes it look like the function is manipulating strings, and the generic "Read" ending isn't useful when there is no generic read method. Even in implementation details, `read` is never used.

Actual exploitation of the difference between the two functions will come in a later commit.
2019-11-25 23:46:47 -05:00
Michael Dusan f96d818770
Merge pull request #3776 from mikdusan/stage1-intern-housekeeping
stage1: fix bad intern counting
2019-11-25 23:12:55 -05:00
daurnimator c0cb676745 std: refactor std/debug.zig DwarfInfo operations to be methods 2019-11-25 22:49:46 -05:00
Michael Dusan d20df7df09
stage1: fix bad intern counting 2019-11-25 20:41:17 -05:00
Andrew Kelley f8a2dec243
docs: update references to wasm_allocator 2019-11-25 19:30:41 -05:00
Michael Dusan 6b7e1085e3
Merge pull request #3774 from mikdusan/stage1-intern-housekeeping
stage1: consolodate interning
2019-11-25 19:19:32 -05:00
Michael Dusan fe254ea309 stage1: avoid building empty memory_profiling.cpp
During build an empty .o on macOS/Xcode emits warning:

    ranlib: file: zig_cpp/libcompiler.a(memory_profiling.cpp.o) has no symbols
    ranlib: file: zig_cpp/libcompiler.a(memory_profiling.cpp.o) has no symbols
2019-11-25 19:08:36 -05:00
Andrew Kelley 80f79cc9e8
Merge branch 'fengb-wasi-run-tests'
closes #3730
2019-11-25 18:46:35 -05:00
Andrew Kelley 4261fa3c49
move logic to the appropriate layers; add new compile error 2019-11-25 18:46:17 -05:00
Andrew Kelley 659c1bdeee
Merge branch 'wasi-run-tests' of https://github.com/fengb/zig into fengb-wasi-run-tests 2019-11-25 17:53:26 -05:00
Andrew Kelley cb38bd0a14
rename std.heap.direct_allocator to std.heap.page_allocator
std.heap.direct_allocator is still available for now but it is marked
deprecated.
2019-11-25 17:25:06 -05:00
Michael Dusan 6c89f96df1
stage1: consolodate interning
- merge const_void_val → intern.x_void
- move const_zero_byte → intern.zero_byte
- wrap intern access
2019-11-25 17:18:56 -05:00
Andrew Kelley 35d65cceb8
Merge pull request #3502 from mikdusan/stage1-mem-diet
unembed ConstExprValue from IrInstruction and intern 1-possible-value types
2019-11-25 16:01:13 -05:00
Michael Dusan a647a88dfc
const interning for 1-possible-value types 2019-11-25 15:04:49 -05:00
Michael Dusan 8f3e972da6
unembed ZigValue from IrInstruction 2019-11-25 15:04:39 -05:00