179 Commits

Author SHA1 Message Date
LemonBoy
f93c219f30 Minor changes for a test case 2020-02-13 12:13:56 +01:00
Andrew Kelley
702398dd0e
Revert "windows: remove the 'A' versions of psapi functions"
This reverts commit 1cdefeb10b7496126bbb7d00709235abfee56a4a.

See #4426
2020-02-10 12:30:20 -05:00
Andrew Kelley
1cdefeb10b
windows: remove the 'A' versions of psapi functions
See #534
2020-02-10 12:03:11 -05:00
Andrew Kelley
014f66e6de Merge pull request #4404 from ziglang/async-std
a big step towards std lib integration with async I/O
2020-02-10 00:22:59 -05:00
LemonBoy
a779450fef linux/i386: Make syscall6 more robust and correct
LLVM10 exposed a subtle flaw in the previous implementation that made
the mmap tests fail.
2020-02-07 22:13:05 +01:00
Andrew Kelley
7f4cce3345 add fcntl support on darwin 2020-02-07 12:11:15 -05:00
LemonBoy
7a58ec81ec std: Add a few tests for mmap/munmap 2020-02-07 16:07:12 +01:00
Andrew Kelley
0b5bcd2f56
more std lib async I/O integration
* `zig test` gainst `--test-evented-io` parameter and gains the ability
   to seamlessly run async tests.
 * `std.ChildProcess` opens its child process pipe with O_NONBLOCK when
   using evented I/O
 * `std.io.getStdErr()` gives a File that is blocking even in evented
   I/O mode.
 * Delete `std.event.fs`. The functionality is now merged into `std.fs`
   and async file system access (using a dedicated thread) is
   automatically handled.
 * `std.fs.File` can be configured to specify whether its handle is
   expected to block, and whether that is OK to block even when in
   async I/O mode. This makes async I/O work correctly for e.g. the
   file system as well as network.
 * `std.fs.File` has some deprecated functions removed.
 * Missing readv,writev,pread,pwrite,preadv,pwritev functions are added
   to `std.os` and `std.fs.File`. They are all integrated with async
   I/O.
 * `std.fs.Watch` is still bit rotted and needs to be audited in light
   of the new async/await syntax.
 * `std.io.OutStream` integrates with async I/O
 * linked list nodes in the std lib have default `null` values for
   `prev` and `next`.
 * Windows async I/O integration is enabled for reading/writing file
   handles.
 * Added `std.os.mode_t`. Integer sizes need to be audited.
 * Fixed #4403 which was causing compiler to crash.

This is working towards:

./zig test ../test/stage1/behavior.zig --test-evented-io

Which does not successfully build yet. I'd like to enable behavioral
tests and std lib tests with --test-evented-io in the test matrix in the
future, to prevent regressions.
2020-02-06 18:05:50 -05:00
LemonBoy
9d41ff335c std: Make TCSA enum ABI-compliant 2020-02-05 20:37:00 +01:00
nofmal
a697de3eac Add basic linux termios implementation 2020-02-04 14:09:57 -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
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
3640c682a2 Run zig fmt 2020-02-01 11:32:53 +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
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
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
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
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
Rocknest
94f29ae117 Remove intCast's 2020-01-30 08:53:38 +02:00
Benjamin Feng
b7a236d68e Convert a bunch of page_allocator to testing.allocator 2020-01-29 22:22:01 -06:00
Benjamin Feng
b077f3ab7d Promoted "leak_count_allocator" to the main testing.allocator 2020-01-29 22:22:00 -06:00
Rocknest
b1884b3a62 Fix aarch64 2020-01-30 01:17:34 +02:00
Rocknest
4a4d6f2be9 Reorganize definitions 2020-01-29 23:15:17 +02:00
Benjamin Feng
aa9caf5064 Create leak_count_allocator 2020-01-29 14:37:01 -06:00
Benjamin Feng
4d134a01f5 Move debug.global_allocator to testing.allocator 2020-01-29 12:21:29 -06:00
LemonBoy
1ba4554855 Correct dl_iterate_phdr address
The base should be zero so that p_vaddr + dlpi_addr = p_vaddr
2020-01-29 12:05:36 -05:00
Andrew Kelley
a867b43366
progress towards merging
see BRANCH_TODO file
2020-01-19 20:54:04 -05:00
LemonBoy
fa52c9e36e Small cleanups 2020-01-19 00:11:45 +01:00
LemonBoy
c5cfc9bf68 Move definition of __aeabi_read_tp 2020-01-15 17:50:51 +01:00
LemonBoy
c85afff5a8 Correct l_name field type 2020-01-14 23:11:10 +01:00
LemonBoy
c1f3766f1c Correct dlpi_name field type 2020-01-14 21:15:33 +01:00
Jonathan Marler
0827e298ed Add WaitForSingleObject function to std.os.windows 2020-01-11 15:49:48 -05:00
Ryan Liptak
834218d789 Fix remaining variadic formatted prints
Used a series of regex searches to try to find as many instances of the old pattern as I could and update them.
2020-01-09 13:36:44 -05:00
Andrew Kelley
7b73c7fe12
Merge branch 'std-utf16-sentinel-terminated' of https://github.com/daurnimator/zig 2020-01-07 16:13:34 -05:00
Andrew Kelley
633b6bf920
Merge branch 'LemonBoy-cc-work' 2020-01-06 18:53:17 -05:00
Andrew Kelley
53913acaf7
zig fmt and update extern fn to callconv(.C) 2020-01-06 15:34:50 -05:00
Andrew Kelley
0a9daeb37e
Merge branch 'cc-work' of https://github.com/LemonBoy/zig into LemonBoy-cc-work 2020-01-06 14:07:56 -05:00
Colin Svingen
4e6ad8efd9 Removes proc_raise from WASI implementation 2020-01-06 14:04:55 -05:00
Andrew Kelley
fee9318b17
std.os.getrusage: add C extern fn and reserved field
* add reserved field to match musl struct definition so that
   it will work with musl libc.
 * add libc getrusage so that it will work with libc

what's not done in this branch is:
 * test coverage. See #1629, which should also aim to provide
   general test coverage for the std lib.
 * rusage struct bits for non-linux operating systems
2020-01-05 16:57:14 -05:00
data-man
2f6b045fb1
Add std.os.getrusage 2020-01-05 16:52:36 -05:00
LemonBoy
563d9ebfe5 Implement the callconv() annotation 2020-01-02 18:53:16 +01:00
Andrew Kelley
0c8ec369f0
std.os.memfd_create: add error.SystemOutdated 2019-12-31 17:57:20 -05:00
Andrew Kelley
8186211404
improvements to memfd_create
* move test from std/io/test.zig to std/os/test.zig
 * do glibc version check, and make direct system call if
   glibc is too old
 * disable test when not linking libc, to avoid not working
   with outdated qemu version on the CI server. see #4019
2019-12-31 16:34:14 -05:00
Luna
f0cbf63e1a
os: use system for memfd_create
- os: update flags type for memfd_create
2019-12-31 15:58:03 -05:00
Luna
997812e8fb
os: add memfd_create
currently only linux is supported
2019-12-31 15:58:03 -05:00
Andrew Kelley
6b960331ee
Merge pull request #3968 from daurnimator/sigprocmask
Clean up linux sigprocmask, raise
2019-12-29 18:03:09 -05:00