Commit Graph

6462 Commits (16397241f6d85956f460f1b1049cf9ce0312bca4)

Author SHA1 Message Date
Andrew Kelley 16397241f6
fix std.net tests and std.net.TcpServer docs 2019-10-30 00:50:30 -04:00
Andrew Kelley b3c80418a8
fix regression in behavior tests 2019-10-30 00:40:17 -04:00
Andrew Kelley d5e438b36e
rename std.net.Server to TcpServer and simplify it 2019-10-30 00:34:30 -04:00
Andrew Kelley c3d816a98e
std lib networking improvements, especially non-blocking I/O
* delete the std/event/net directory
 * `std.event.Loop.waitUntilFdReadable` and related functions
   no longer have possibility of failure. On Linux, they fall
   back to poll() and then fall back to sleep().
 * add some missing `noasync` decorations in `std.event.Loop`
 * redo the `std.net.Server` API. it's quite nice now, but
   shutdown does not work cleanly. There is a race condition with
   close() that I am actively working on.
 * move `std.io.OutStream` to its own file to match `std.io.InStream`.
   I started working on making `write` integrated with evented I/O,
   but it got tricky so I backed off and filed #3557. However
   I did integrate `std.os.writev` and `std.os.pwritev` with evented I/O.
 * add `std.Target.stack_align`
 * move networking tests to `lib/std/net/test.zig`
 * add `std.net.tcpConnectToHost` and `std.net.tcpConnectToAddress`.
 * rename `error.UnknownName` to `error.UnknownHostName` within the
   context of DNS resolution.
 * add `std.os.readv`, which is integrated with evented I/O.
 * `std.os.preadv`, is now integrated with evented I/O.
 * `std.os.accept4` now asserts that ENOTSOCK and EOPNOTSUPP never
    occur (misuse of API), instead of returning errors.
 * `std.os.connect` is now integrated with evented I/O.
   `std.os.connect_async` is gone. Just use `std.os.connect`.
 * fix false positive dependency loop regarding async function frames
 * add more compile notes to help when dependency loops occur
   in determining whether a function is async.
 * ir: change an assert to ir_assert to make it easier to find
   workarounds for when such an assert is triggered. In this case
   it was trying to parse an IPv4 address at comptime.
2019-10-29 22:59:30 -04:00
Andrew Kelley 8d3b7689ad
std.net: port the RFC 3484/6724 destination...
...address selection from musl libc
2019-10-29 16:10:14 -04:00
Andrew Kelley 9ade31faaf
implement CNAME expansion 2019-10-29 14:03:39 -04:00
Andrew Kelley 67058b9b70
basic DNS address resolution for linux without libc 2019-10-29 02:19:22 -04:00
Andrew Kelley d5865f5319
move libc/linux bits around 2019-10-28 15:29:50 -04:00
Andrew Kelley 845be4ea3e
fix regression in translate-c 2019-10-28 15:29:50 -04:00
Andrew Kelley f4c244b3d0
partial no-libc implementation of std.net.getAddressList 2019-10-28 15:29:50 -04:00
Andrew Kelley 4b80e376e3
std.net.getAddressList 2019-10-28 15:29:50 -04:00
Andrew Kelley 4f594527c0
detect async fn recursion and emit compile error 2019-10-28 15:10:48 -04:00
Andrew Kelley a3222b5ff1
remove dead tls code 2019-10-28 15:10:12 -04:00
Andrew Kelley b37c009683
Merge pull request #3541 from xackus/language_server
* fix json parser crashing on empty input

* make implicit cast of tagged unions to enums easier to find in docs
2019-10-28 15:08:33 -04:00
Timon Kruiper 03603ea353 Std docs: Fix a js error that would cause some function to be not rendered 2019-10-28 15:06:55 -04:00
Andrew Kelley f2d0d9820d
synchronize the target features for compiling C code
d91fc0fdd8 changed zig's behavior to
disable the SSE feature when cross compiling for i386-freestanding.

This commit does the same when compiling C Code.
2019-10-28 14:37:32 -04:00
Nathan Michaels 6fdeaac338 Add some documentation for standard library things. (#3540)
* Add some documentation for standard library things.

Added a bunch of descriptions for array_list.
Added some usage notes for failing_allocator.
Documented some of mem.Allocator.
2019-10-28 03:57:23 -04:00
xackus 36fa5fabc6 rename error and specify it in function 2019-10-27 21:52:28 +01:00
xackus eeb6536c85
better test name for empty string
Co-Authored-By: Andrew Kelley <andrew@ziglang.org>
2019-10-27 21:41:52 +01:00
xackus 8960e8090e make implicit cast of tagged unions to enums easier to find in docs 2019-10-27 21:35:22 +01:00
Andrew Kelley 8af6c7e34c
Merge pull request #3522 from SebastianKeller/WriteJson
Added 'writeJson' to write_stream.zig:
2019-10-27 15:53:24 -04:00
Sebastian Keller 78b00c0b51 Added test for 'emitJson' 2019-10-27 20:49:42 +01:00
Sebastian Keller ac705a7bb6 Unified public api 2019-10-27 20:15:48 +01:00
Henry Wu f756d875b1 generated docs: vertically align fns with comments 2019-10-27 15:11:36 -04:00
Andrew Kelley 4a57913ca0
std.target: use mem instead of std.mem 2019-10-27 14:27:20 -04:00
Benoit Giannangeli 73c4a5f186 lib/std/target.zig: Added missing 'mem' constant 2019-10-27 14:26:25 -04:00
xackus a0abd3be85 fix json parser crashing on empty input
remove unreachable code
2019-10-27 10:45:54 +01:00
Andrew Kelley 05003d533a
Merge pull request #3537 from lun-4/fix/accept4
fix std.os.accept4
2019-10-26 21:31:38 -04:00
Luna d4e41c5bc6 std: make addr_size parameter be a pointer to socklen_t
removes ptrCast
2019-10-26 22:05:17 -03:00
Luna bf16fc210b fix std.os.accept4
- add WouldBlock to list of errors in AcceptError
 - ptrCast addr_size to the system's socklen_t, instead of assuming it's
    usize
2019-10-26 22:00:50 -03:00
Andrew Kelley fafd1fd480
ci: disable test-compare-output on aarch64 2019-10-26 18:48:42 -04:00
Noam Preil d91fc0fdd8 Don't use SSE on freestanding 2019-10-26 16:46:43 -04:00
Noam Preil b8305b5648 Don't save/restore stack on newStackCall to noreturn function 2019-10-26 16:45:46 -04:00
Andrew Kelley ee21bab253
ci: -Dskip-release for aarch64 to hit 1 hour time limit 2019-10-26 13:14:54 -04:00
Timon Kruiper d04c58816d Translate-c: Fix a segfault when to many errors are emitted
This was already fixed when doing `@cImport`, but not yet when
running `zig translate-c`.
2019-10-26 13:09:23 -04:00
Andrew Kelley 05fd59e06a
ci: enable more passing tests on aarch64-linux 2019-10-26 12:09:15 -04:00
Michael Dusan 3aeb1b115d stage1: fix compile error on macOS Xcode 11.2
src/codegen.cpp:7713:33: error: unused variable 'global_linkage_values' [-Werror,-Wunused-const-variable]
static const GlobalLinkageValue global_linkage_values[] = {
2019-10-25 17:49:01 -04:00
Andrew Kelley e219f0c786
fix regression in `zig run`
changes in 1dcf540426 added a "double
free" of the progress node, causing a segfault for `zig run` when there
is a terminal attached. fixed.
2019-10-25 13:03:12 -04:00
Andrew Kelley 952aa7a9c1
ci: perform git config inside zig git repo dir 2019-10-25 04:26:22 -04:00
Andrew Kelley c5e26b8673
ci: force git name-rev to be 9 on all targets 2019-10-25 03:27:00 -04:00
Andrew Kelley aa2607a109
Merge branch 'ci-drone-cloud' 2019-10-24 21:41:14 -04:00
Andrew Kelley 6eba65bd7f
ci: add aarch64 to download page 2019-10-24 21:40:26 -04:00
Andrew Kelley bf5be65be6
disable not working stuff 2019-10-24 21:13:47 -04:00
Andrew Kelley 55c282ed51
os.dup2: handle EBAF 2019-10-24 21:13:05 -04:00
Andrew Kelley f6367a0751
ci: build docs, fix PR logic 2019-10-24 20:47:50 -04:00
Andrew Kelley 695a746aa0
ci: use x86_64 namespaced docker image
I took a risk that docker had implemented namespacing with regards to
architectures correctly, but of course they didn't. So the CI docker
image for x86_64 was clobbered by an aarch64 image with the same name.

Now we're doing arch namespaces with the tag name, so here's the x86_64
one.
2019-10-24 20:46:07 -04:00
Andrew Kelley 551e70dcb2
ci: add s3 secrets to drone config 2019-10-24 19:46:11 -04:00
Andrew Kelley 43f5054a90
ci: drone tests only aarch64 with docker image 2019-10-24 19:46:11 -04:00
Andrew Kelley 79cb383f7d
fix 32-bit build of translate_c.zig 2019-10-24 19:46:11 -04:00
Andrew Kelley 0e9f32d42b
disable static build for now until the docker image is ready 2019-10-24 19:46:11 -04:00