Commit Graph

334 Commits

Author SHA1 Message Date
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
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
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
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
cd5f4de2a6 std: remove O_LARGEFILE from OS bits when the OS does not define it 2019-11-21 20:34:55 -05: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
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