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
syscall0
a6ef83cccf
Fix build system crash when compiling windows dll
2019-11-26 15:40:31 -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
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
daurnimator
c0cb676745
std: refactor std/debug.zig DwarfInfo operations to be methods
2019-11-25 22:49:46 -05:00
Andrew Kelley
f8a2dec243
docs: update references to wasm_allocator
2019-11-25 19:30:41 -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
Andrew Kelley
bdf3680be1
zig fmt
2019-11-25 13:53:13 -05:00
Andrew Kelley
8a4c2d3b07
zig fmt fixes for sentinel-terminated pointers
...
closes #3771
2019-11-25 13:53:06 -05:00
Andrew Kelley
a061ef42c1
Merge pull request #3761 from Vexu/event.fs
...
Update event.fs to new event loop
2019-11-25 12:31:23 -05:00
Vexu
7dba5ea9cf
update event.fs.watch
2019-11-25 17:57:44 +02:00
Andrew Kelley
5a98dd42b3
Merge pull request #3728 from ziglang/null-terminated-pointers
...
sentinel-terminated pointers
2019-11-25 02:20:08 -05:00
daurnimator
69b780647a
std: update for linux 5.4
2019-11-25 02:07:23 -05:00
Andrew Kelley
321726465d
fix freebsd regression
2019-11-25 02:00:47 -05:00
Andrew Kelley
d2cb740dd9
add missing null terminator in windows file path helper function
2019-11-25 01:10:30 -05:00
Andrew Kelley
29e438fd1f
more sentinel-terminated pointers std lib integration
...
See #3767
2019-11-25 00:43:36 -05:00
Andrew Kelley
15d415e10b
make std.mem.toSlice use null terminated pointers
...
and fix the fallout
2019-11-24 21:21:05 -05:00
Andrew Kelley
34b1ebefaa
Merge remote-tracking branch 'origin/master' into null-terminated-pointers
2019-11-24 20:28:46 -05:00
daurnimator
1a84bcefb6
std: fix mismatched doc-comment/argument names in fifo.rewind
2019-11-25 09:26:33 +11:00
daurnimator
94485b2a58
std: clean up fifo.readableSliceMut
2019-11-25 09:26:33 +11:00
daurnimator
b4091e3aec
std: fifo.deinit didn't need to take a pointer
2019-11-25 09:26:33 +11:00
daurnimator
3062e0e932
std: add fifo.writeItem
2019-11-25 09:26:33 +11:00
daurnimator
c393969a20
std: fix bug in fifo.unget if rewinding doesn't wrap around
2019-11-25 09:26:33 +11:00
daurnimator
61179a4d52
std: follow zig standard library convention and have fifo.read number of items
2019-11-25 09:26:33 +11:00
daurnimator
6037f89212
std: fifo rename from FixedSizeFifo to LinearFifo
2019-11-25 09:26:33 +11:00
daurnimator
cd749e0416
std: fifo now has 3 modes: Static, Slice and Dynamic
2019-11-25 09:26:32 +11:00
daurnimator
c0e47cb645
std: fix fifo for non-u8 types
2019-11-25 09:26:32 +11:00
daurnimator
e810f485ab
std: add optimization to fifo if size is power of two
2019-11-25 09:26:32 +11:00
daurnimator
01b2a56225
std: move auto_align constant to top of comptime function
...
At a later point in time this might be made into a parameter
2019-11-25 09:26:32 +11:00
daurnimator
52645d06e1
std: fix unfinished doc-comment in fifo
2019-11-25 09:26:32 +11:00
Andrew Kelley
44b1dc6db8
add type coercion: [:x]T to [*:x]T
2019-11-24 15:17:55 -05:00
syscall0
eea8b10463
Call DllMain entry point if declared
2019-11-24 14:46:22 -05:00
schroffl
6109e49c5b
Fix FixedSizeFifo buffer type
...
Update the `.buf` property to be a slice of the type that is given as a parameter.
2019-11-24 14:42:56 -05:00
Vexu
20f5f56986
uncomment event.fs.watch
2019-11-24 17:42:20 +02:00
Vexu
ab534cc9f1
update event.fs to use global event loop
2019-11-24 17:39:08 +02:00
MCRusher
d49e0a7b90
Added initCapacity, capacity, and 2 tests.
...
Added Buffer.initCapcity() to buffer to allow preallocation of a block of memory to reduce future allocations. Uses the added ArrayList.initCapacity() function to achieve this.
Added Buffer.capacity() to track current usable allocation size, not counting null byte, and returning 0 if empty or created with Buffer.initNull()
Added a test for initCapacity() that shows that no further allocation is performed for an append of size smaller than or equal to capacity when initCapacity is used.
Added a test for initSize(), since it did not exist already.
Also added a comment to better explain the difference between initSize() and initCapacity()
note: forgot in the first commit but thanks to mikdusan for helping me brainstorm, through the process, and for drawing up a draft diff which I tweaked.
2019-11-23 23:08:33 -05:00
MCRusher
10e6cde083
Added initCapacity and relevant test
...
Added ArrayList.initCapcity() as a way to preallocate a block of memory to reduce future allocations.
Added a test "std.ArrayList.initCapacity" that ensures initCapacity adds no elements and increases capacity by at least the requested amount
2019-11-23 22:54:33 -05:00
Andrew Kelley
00878a15d7
zig fmt: support sentinel-terminated pointer syntax
2019-11-23 22:21:25 -05:00
Andrew Kelley
f25182f46d
structs can have fields with type `var`
...
behavior tests passing now
2019-11-23 17:51:37 -05:00
Vexu
89310dad56
Merge branch 'master' into modernize-stage2
2019-11-23 23:01:28 +02:00
Vexu
b9ef36094c
re-enable stage2 tests
2019-11-23 22:57:34 +02:00
Vexu
6c64f079fa
add workaround to child_process.zig
2019-11-23 22:06:51 +02:00
Vexu
7fa59565d3
fix small regressions in std.event
2019-11-23 14:01:00 -05:00
Andrew Kelley
7597735bad
update the stage1 implementation to the new proposal
...
See #3731
2019-11-23 04:45:35 -05:00
Vexu
4e6c1b676b
add cast to not hit #2561
2019-11-21 23:21:51 -05:00
Vexu
0e8a53514e
add missing error set to ChildProsess.SpawnError
2019-11-21 23:21:14 -05:00
Andrew Kelley
fd6020c4e2
update tests, better error messages, update self-hosted tokenizer
2019-11-21 20:43:41 -05:00
Andrew Kelley
cf2fe2536e
better error message when null termination does not match
2019-11-21 20:43:41 -05:00
Andrew Kelley
47f06be369
string literals are now null terminated
...
this also deletes C string literals from the language, and then makes
the std lib changes and compiler changes necessary to get the behavior
tests and std lib tests passing again.
2019-11-21 20:43:41 -05:00
Andrew Kelley
21f344b3b9
add null terminated pointers and arrays to self-hosted
...
as well as `@typeInfo` and `@Type`
2019-11-21 20:43:41 -05:00
Andrew Kelley
1aa978f32e
implement null terminated pointers
2019-11-21 20:43:41 -05:00
Andrew Kelley
cd5f4de2a6
std: remove O_LARGEFILE from OS bits when the OS does not define it
2019-11-21 20:34:55 -05:00
Benjamin Feng
0f0d01a037
Replace magic numbers with named constants
2019-11-21 18:41:02 -06:00
Andrew Kelley
bf1cbebea1
improve std.fs.selfExePath and related functions on Windows
2019-11-21 18:51:12 -05:00
Andrew Kelley
cd37c1a377
add std.fs.Dir.openRead
...
This is progress towards file system APIs that encourage avoiding
Time Of Check, Time Of Use bugs.
2019-11-21 17:07:29 -05:00
Andrew Kelley
874b34a30f
self-hosted tokenizer handles \r in string literals
2019-11-20 21:03:17 -05:00
Andrew Kelley
ed619245e9
remove dead code shebang support from self-hosted tokenizer
2019-11-20 20:18:19 -05:00
Benjamin Feng
d27721f58c
Add .enable_wasmtime build flag
2019-11-20 12:06:21 -06:00
Benjamin Feng
218f9ff34e
Work around WASI's nonexistent @returnAddress()
2019-11-19 20:55:55 -06:00
Benjamin Feng
b88bb93af3
WASI isatty
2019-11-19 20:17:00 -06:00
Benjamin Feng
14e9c7d1f2
WASI clock functions
2019-11-19 19:44:19 -06:00
Benjamin Feng
c3d93cd9f2
WASI time_t / timespec
2019-11-19 16:12:26 -06:00
Benjamin Feng
747529e96b
Use wasm_allocator
2019-11-19 00:31:40 -06:00
Johan Bolmsjö
ad77e93415
std.testing.expectEqual: show differing pointer values
...
Show differing pointer values when comparing pointers instead of the
content they point to.
It's confusing for a test to say "expected S{.x = 1}, found S{.x = 1}"
as illustrated below when it was the pointers that differed.
There seems to be different rules for when a pointer is dereferenced by
the printing routine depending on its type. I don't fully grok this but
it's also illustrated below.
const std = @import("std");
const S = struct { x: u32 };
// before: ...expected S{ .x = 1 }, found S{ .x = 1 }
// after: ...expected S@7ffcd20b7798, found S@7ffcd20b7790
test "compare_ptr_to_struct" {
var a = S{.x = 1};
var b = S{.x = 1};
std.testing.expectEqual(&a, &b);
}
// before: ...expected u32@7fff316ba31c, found u32@7fff316ba318
// after: ...expected u32@7ffecec622dc, found u32@7ffecec622d8
test "compare_ptr_to_scalar" {
var a: u32 = 1;
var b: u32 = 1;
std.testing.expectEqual(&a, &b);
}
2019-11-19 06:22:34 +00:00
dbandstra
b3539b40a6
add `std.math.tau` constant (equivalent to 2 * pi)
2019-11-19 06:20:20 +00:00
frmdstryr
aa4e92f3b3
Make StreamServer return address of accecpted client
2019-11-19 01:06:04 +00:00
Andrew Kelley
4dd3f42972
Merge pull request #3695 from daurnimator/towards-afd
...
Windows definitions
2019-11-17 23:17:48 +00:00
Andrew Kelley
57b8614a5a
Merge pull request #3697 from Vexu/container-docs
...
Implement container level doc comments
2019-11-17 22:31:12 +00:00
Andrew Kelley
8e3370367b
Merge pull request #3705 from daurnimator/fix-std.valgrind
...
std: fix outdated valgrind module
2019-11-17 22:29:17 +00:00
Vexu
6cddf9d723
properly parse anon literal in array
2019-11-17 22:24:21 +00:00
daurnimator
d870a68e68
std: add a couple of tests to valgrind module
2019-11-17 14:16:09 +11:00
daurnimator
7d582d0a00
std: fix missing @ptrToInt in valgrind.memcheck
2019-11-17 14:14:57 +11:00
daurnimator
41c72bb54c
std: fix use of old syntax in std.valgrind.memcheck
2019-11-17 14:14:57 +11:00
daurnimator
cc76494c42
std: use enum literals in valgrind module
2019-11-17 14:14:57 +11:00
daurnimator
4a3bb557f1
std: fix outdated valgrind module
2019-11-17 14:14:57 +11:00
Vexu
977b613881
add container doc comments to generated docs
2019-11-15 15:17:59 +02:00
daurnimator
431eeb5e20
std: add pieces for WSAIoctl on windows
2019-11-15 10:31:52 +11:00
daurnimator
3b8afe31a0
std: add NtDeviceIoControlFile definition for windows
2019-11-15 10:31:51 +11:00
daurnimator
6469900e79
std: add WSAStartup and WSACleanup for windows
2019-11-15 10:31:47 +11:00
Vexu
b92f42d1f4
implemented container doc comments in stage 2
2019-11-14 16:25:06 +02:00
daurnimator
4cf535a01b
std: add WSASocketW for windows
2019-11-14 17:09:22 +11:00
daurnimator
d9d3268cc1
std: add DeviceIoControl and GetOverlappedResult for windows
2019-11-14 17:09:21 +11:00
daurnimator
f4c6cc3270
std: add winsock some definitions
2019-11-14 17:09:19 +11:00
daurnimator
a832b35c19
std: add windows socket constants
...
Taken from https://docs.microsoft.com/en-us/windows/win32/api/winsock2/nf-winsock2-wsasocketw
2019-11-14 17:09:17 +11:00
daurnimator
be86e41d97
std: add CTL_CODE function for windows
2019-11-14 17:09:16 +11:00
daurnimator
4830415071
std: add FILE_ANY_ constants for windows
2019-11-14 17:00:09 +11:00
daurnimator
0270545edb
std: add windows ioctl transfer types
2019-11-14 17:00:07 +11:00
daurnimator
ef6cec983c
std: add windows FILE_DEVICE_ defines
2019-11-14 17:00:05 +11:00
Andrew Kelley
0237e7a701
std.io.getStdOut and related fns no longer can error
...
Thanks to the Windows Process Environment Block, it is possible to
obtain handles to the standard input, output, and error streams without
possibility of failure.
2019-11-13 04:01:40 +00:00
Andrew Kelley
8bae70454d
Merge pull request #3675 from Vexu/atomic-store
...
Add @atomicStore builtin
2019-11-13 03:06:55 +00:00
Andrew Kelley
37318bf151
fn parameters participate in result location semantics
...
See #3665
2019-11-12 18:55:17 -05:00
Vexu
f0c94d95dd
use @atomicStore in std lib
2019-11-13 00:52:15 +02:00
Sahnvour
956ba8b0e7
Merge pull request #3447 from Sahnvour/vcpkg
...
build: initial support for using vcpkg libraries
2019-11-12 20:16:01 +01:00
Vexu
5194fc57d1
use enum with atomics in std lib
2019-11-12 17:55:54 +02:00
Andrew Kelley
d4e6a6d5e2
zig fmt: support anon struct and anon list init syntax
2019-11-11 13:12:45 -05:00
Andrew Kelley
5b27943498
implement anon struct literal syntax
...
This implements stage1 parser support for anonymous struct literal
syntax (see #685 ), as well as semantic analysis support for anonymous
struct literals and anonymous list literals (see #208 ). The semantic
analysis works when there is a type coercion in the result location;
inferring the struct type based on the values in the literal is not
implemented yet. Also remaining to do is zig fmt support for this new
syntax and documentation updates.
2019-11-11 13:11:58 -05:00
Andrew Kelley
ae0a219d1f
stop accepting deprecated `use` keyword
...
closes #2591
2019-11-11 13:02:39 -05:00
Felix Queißner
cd5c9c8998
Fix missing @as cast in std.fmt.formatInt ( #3650 )
2019-11-10 23:08:24 +00:00
Andrew Kelley
d44a69689e
std.ChildProcess.spawn has a consistent error set
...
across targets. Also fix detection of pkg-config not
installed on Windows when using zig build.
2019-11-10 15:40:27 -05:00
Andrew Kelley
891e2149b0
Merge pull request #3635 from lun-4/unify-unix-sockets
...
std.net: add unix socket support to Address and StreamServer
2019-11-10 20:40:19 +00:00
Luna
c8a8da2804
remove builtin.os check in Address.initUnix
2019-11-10 16:44:18 -03:00
Luna
d1eabe81a9
add sockaddr_un to os/bits/windows
2019-11-10 14:38:33 -03:00
Luna
d99ecef943
replace panic to unreachable
...
- remove error.UnsupportedOS from StreamServer.listen
2019-11-10 14:17:39 -03:00
Luna
2d02920a90
use hasDecl instead of switch on builtin.os
2019-11-10 14:04:52 -03:00
dimenus
98e37537d1
minor fix due to recent directory handling API changes
2019-11-10 16:34:31 +00:00
Luna
25423eb453
add errors/panics for unsupported OSes
2019-11-10 10:50:22 -03:00
Luna
e4704f68f8
use at-as
2019-11-09 15:10:39 -03:00
Luna
fc2e8f92b2
Merge remote-tracking branch 'upstream/master' into unify-unix-sockets
2019-11-09 15:07:09 -03:00
Luna
348c0232a5
miscellaneous fixes
...
- make connextUnixSocket use std.net.Address
- fix StreamServer.listen giving wrong protocol for unix sockets
2019-11-09 14:53:48 -03:00
Luna
05ae21b78e
make StreamServer.listen family-agnostic
...
- rename Address.parseUnix to Address.initUnix
2019-11-09 12:51:33 -03:00
Luna
f4d8dc278b
rename TcpServer -> StreamServer
...
- add AF_UNIX support to getOsSockLen
2019-11-09 12:40:56 -03:00
Sahnvour
def5462d05
build: initial support for using vcpkg libraries
2019-11-09 12:37:38 +01:00
Luna
c2325053a8
add Address.parseUnix and Address.format support for AF_UNIX
2019-11-08 21:44:17 -03:00
dimenus
8c8078513e
missed cast in std/target.zig
2019-11-08 19:19:08 -05:00
Luna
9458620e18
replace Address.parse Address.parseIp
2019-11-08 19:59:30 -03:00
Luna
5d05cfcfe6
rename IpAddress to Address, add Address.unix
2019-11-08 19:35:04 -03:00
Andrew Kelley
f7b1e02158
fix type cast in windows child process code
2019-11-08 17:05:20 -05:00
Andrew Kelley
3cf5c2c62b
fix regressed tests and update docs to use "type coercion"
2019-11-08 15:57:25 -05:00
Andrew Kelley
aa0daea541
update more of the std lib to use `@as`
2019-11-08 15:57:25 -05:00
Andrew Kelley
e0db54e89d
update the codebase to use `@as`
2019-11-08 15:57:24 -05:00
Andrew Kelley
2723ffc2b2
fixups and zig fmt
2019-11-08 01:52:23 -05:00
Andrew Kelley
fbbcf2f30d
Merge branch 'adaptive_lock' of https://github.com/kprotty/zig into kprotty-adaptive_lock
2019-11-08 01:21:22 -05:00
kprotty
e2189b6e5d
cleanup getEventHandle
2019-11-07 19:37:53 -06:00
kprotty
43900011f7
handle NtCreateKeyedEvent failure by spinning to ensure correctness
2019-11-07 18:56:43 -06:00
kprotty
fe8c1cf804
missing `os` declaration
2019-11-07 17:14:08 -06:00
kprotty
bb4abfdc78
Use `system` instead of `builtin.link_libc`
2019-11-07 16:36:33 -06:00
kprotty
12e68cbeb6
pthread_sched_yield -> sched_yield
2019-11-07 16:33:25 -06:00
kprotty
f41e58d015
fix SpinLock.yield for pull/3626
2019-11-07 15:51:20 -06:00
kprotty
b5d84635f2
remove WaitOnAddress backend in std.ThreadParker
2019-11-07 15:46:57 -06:00
kprotty
b535e86cc0
move SpinLock definitions around
2019-11-07 15:32:20 -06:00
Vexu
459a364a33
allow Group to optionally manage function frames' memory
2019-11-07 13:26:49 -05:00
Vexu
3858a526e3
make callMainAsync async
2019-11-07 13:18:47 -05:00
kprotty
92dac89d01
lock the mutex on pthread_cond_signal()
2019-11-07 09:23:02 -06:00
LemonBoy
cf6fb89ced
Add small tokenizer test case for #3468
2019-11-07 02:46:10 -05:00
Andrew Kelley
c7fd414dab
Merge pull request #3618 from nrdmn/uefi
...
UEFI improvements
2019-11-06 23:19:46 -05:00
Nick Erdmann
78b54d9c96
std/os/uefi: protocol handling improvements
2019-11-07 03:06:06 +01:00
Nick Erdmann
cef51eaffb
std/os/uefi: snp, mnp, ip6, and udp6 support
2019-11-07 02:53:53 +01:00
Nick Erdmann
f4767186dd
std/os/uefi: loading images
2019-11-07 02:53:53 +01:00
Andrew Kelley
6ee3cabe5c
allow type coercion from *[0]T to E![]const T
...
This is an unambiguous, safe cast.
2019-11-06 20:44:15 -05:00
kprotty
7045f1e875
skip std.ThreadParker test on single-threaded
2019-11-06 17:23:44 -06:00
shiimizu
7277670843
Add error when too few arguments are provided to std.fmt
2019-11-06 18:22:33 -05:00
Sebastian Keller
f81f36e2ff
std.json.Value: added dumpStream(), utilize WriteStream for dump()
2019-11-06 18:21:52 -05:00
Vexu
4530adbd33
use global event loop in std.event types
2019-11-06 15:17:40 -05:00
Andrew Kelley
913f7d0450
improve the start code for evented I/O
...
When evented I/O is being used, prevent event loop from terminating
at least until main() has returned.
2019-11-06 15:08:29 -05:00
Brendan Hansknecht
c1e8fdf812
add token for parsing pointer dereference
2019-11-06 14:03:21 -05:00
Sebastian Keller
dd4e9fb16b
Fixed a leak in the json parser.
...
parseString() created a copy of the string using the wrong allocator.
Instead of using the ArenaAllocator, it was using the allocator passed
into Parser.init(). This lead to a leak as the copied string was not
freed when the ArenaAllocator was deinited.
2019-11-06 14:00:36 -05:00
kprotty
4dbfc48ab3
Disable asm("yield") for arm in SpinLock.yieldCpu() because of CI
2019-11-05 16:16:03 -06:00
kprotty
c9db420a09
Adaptive Mutex:
...
- uses std.ThreadParker
- supports static initialization (deprecates StaticallyInitializedMutex)
2019-11-05 16:14:43 -06:00
kprotty
465ebf494d
ThreadParker implementation
2019-11-05 15:58:58 -06:00
kprotty
14209cf615
make SpinLock.Backoff pub
2019-11-05 13:43:17 -06:00
Andrew Kelley
9bc4f8ea77
zig build: addIncludeDir does -I instead of -isystem
2019-11-05 14:32:17 -05:00
Vexu
a26e9fa723
add special formatting for ipv4-mapped ipv6 addresses
2019-11-05 12:05:34 -05:00
Andrew Kelley
4e9ab0306a
Merge pull request #3587 from LemonBoy/fix-things
...
Bunch'o'fixes
2019-11-05 11:44:07 -05:00
Shawn Landden
1c22cb5e51
fix noreturn function that may return.
...
we do not want undefined behavior here in --release-fast
and --release-small modes
2019-11-05 11:38:32 -05:00
Shawn Landden
55685ae780
remove duplicate isNan implementation
2019-11-05 11:34:33 -05:00
lukechampine
3d907b2943
crypto: Add support for AES-CTR
2019-11-05 11:33:11 -05:00
kprotty
84e370d0b2
Move hybrid yielding into its own struct
2019-11-05 09:31:29 -06:00
kprotty
0d4f4aad9e
adaptive SpinLock
2019-11-05 08:16:08 -06:00
daurnimator
1657bead46
std: Add fifo useful for buffers
2019-11-04 17:44:01 -05:00
data-man
42ccdc2765
Replace AES variables to constants
2019-11-04 17:43:14 -05:00
Andrew Kelley
ce70a9be24
Merge pull request #3589 from Vexu/ipv6-improvements
...
Ipv6 improvements
2019-11-04 15:22:14 -05:00
Andrew Kelley
6c17282062
std.os.read can fail with ConnectionResetByPeer
2019-11-04 14:40:30 -05:00
Andrew Kelley
aaf50970a8
Merge pull request #3574 from lukechampine/aes
...
crypto: Add AES implementation
2019-11-04 14:39:40 -05:00
LemonBoy
c8b6e55299
Make the `leb` module available to non-std code
2019-11-04 20:33:40 +01:00
Luke Champine
eb95afbc66
remove speculative AES TODOs
2019-11-04 13:59:26 -05:00
Andrew Kelley
5db77e3c66
Merge pull request #3588 from daurnimator/tiny-std-fixes
...
Tiny std fixes
2019-11-04 13:25:37 -05:00
Brendan Hansknecht
52207f22de
Add karatsuba to big ints
2019-11-04 13:20:03 -05:00
Vexu
6e786b60d4
support ipv4-mapped ipv6 addresses
2019-11-04 19:54:36 +02:00
Vexu
32ac1b5927
improve ipv6 parsing and formatting
2019-11-04 19:00:58 +02:00
daurnimator
c8463ce9b0
std: Add definitions for (deprecated) futimes and utimes C functions
2019-11-05 02:19:25 +11:00
daurnimator
6e635c6406
std: close is OSX specific
2019-11-05 02:16:30 +11:00
kprotty
bb6ad1a6c2
Remove StaticallyInitializedMutex
2019-11-03 21:09:51 -06:00
Luna
2e0dd5733f
add FileNotFound to os.ConnectError error set
2019-11-02 15:49:15 -04:00
Luna
d535bf2c7d
add FileNotFound error to os.connect
2019-11-02 15:49:15 -04:00
Andrew Kelley
f749bf0942
std.os: fix sendto, poll, recvfrom when linking libc
...
Thank you to Brendan Hansknecht for this patch.
2019-11-02 15:15:56 -04:00
lukechampine
f403aa6cee
crypto: Add AES implementation
2019-11-01 22:42:25 -04:00
Andrew Kelley
d6dec80261
startup code respects root source file's event_loop if present
2019-10-31 14:21:04 -04:00
Andrew Kelley
081c62fc00
fix regression in std.os.dirent64 on linux
2019-10-31 13:56:15 -04:00
Tse
00382f6dae
DragonFlyBSD tidyup
2019-10-31 13:53:32 -04:00
Andrew Kelley
d3d3e4e374
startup code sets up event loop if I/O mode is declared evented
2019-10-31 11:41:39 -04:00
Andrew Kelley
788848e123
std.net: fix reference to incorrect constant name
2019-10-30 23:03:49 -04:00
Andrew Kelley
61d5a0bf48
Merge branch 'std.net'
2019-10-30 21:30:16 -04:00
Andrew Kelley
6a15e8a7a7
add comments to disabled tests linking to the tracking issue
2019-10-30 21:29:45 -04:00
Tse
33cc204481
DragonFlyBSD support
2019-10-30 21:21:58 -04:00
Henry Wu
7c73503451
generated docs: move color to box-shadow CSS prop
2019-10-30 21:20:02 -04:00
Andrew Kelley
7b7ba51642
fix os.sockaddr being a union instead of a struct
2019-10-30 20:57:20 -04:00
Andrew Kelley
d7f15aa2cb
Merge remote-tracking branch 'origin/master' into std.net
2019-10-30 20:43:56 -04:00
Andrew Kelley
c52ee6efca
canonicalize std.os IPPROTO constants
2019-10-30 20:41:28 -04:00
Andrew Kelley
0de862e8ba
make std.net more portable
...
* Delete `std.net.TmpWinAddr`. I don't think that was ever meant to
be a real thing.
* Delete `std.net.OsAddress`. This abstraction was not helpful.
* Rename `std.net.Address` to `std.net.IpAddress`. It is now an extern
union of IPv4 and IPv6 addresses.
* Move `std.net.parseIp4` and `std.net.parseIp6` to the
`std.net.IpAddress` namespace. They now return `IpAddress` instead of
`u32` and `std.net.Ip6Addr`, which is deleted.
* Add `std.net.IpAddress.parse` which accepts a port and parses either
an IPv4 or IPv6 address.
* Add `std.net.IpAddress.parseExpectingFamily` which additionally
accepts a `family` parameter.
* `std.net.IpAddress.initIp4` and `std.net.IpAddress.initIp6` are
improved to directly take the address fields instead of a weird
in-between type.
* `std.net.IpAddress.port` is renamed to `std.net.IpAddress.getPort`.
* Added `std.net.IpAddress.setPort`.
* `os.sockaddr` struct on all targets is improved to match the
corresponding system struct. Previously I had made it a union of
sockaddr_in, sockaddr_in6, and sockaddr_un. The new abstraction for
this is now `std.net.IpAddress`.
* `os.sockaddr` and related bits are added for Windows.
* `os.sockaddr` and related bits now have the `zero` fields default
to zero initialization, and `len` fields default to the correct size.
This is enough to abstract the differences across targets, and so
no more switch on the target OS is needed in `std.net.IpAddress`.
* Add the missing `os.sockaddr_un` on FreeBSD and NetBSD.
* `std.net.IpAddress.initPosix` now takes a pointer to `os.sockaddr`.
2019-10-30 20:22:05 -04:00