aboutsummaryrefslogtreecommitdiff
path: root/std
AgeCommit message (Collapse)Author
2019-05-28Fix os.mprotect signatureLemonBoy
2019-05-28updated dynamic libraries to new stdemekoi
2019-05-28remove unneed allocator from DynLibemekoi
2019-05-28Add sigaltstack syscallLemonBoy
2019-05-27freebsd fixesAndrew Kelley
2019-05-27windows does not integrate cleanly with libcAndrew Kelley
2019-05-27fixes for windows to build self hosted compilerAndrew Kelley
2019-05-27darwin: add missing error handlingAndrew Kelley
2019-05-27use close$NOCANCEL on darwinAndrew Kelley
2019-05-27std.fs: fix error set regressions on linuxAndrew Kelley
2019-05-27fixes for darwinAndrew Kelley
2019-05-27nanosleep: move windows logic to std.timeAndrew Kelley
2019-05-27fix debug builds of WASIAndrew Kelley
2019-05-27std lib fixes for zig build on windowsAndrew Kelley
2019-05-27more fixes for windows and wasiAndrew Kelley
2019-05-27fixes for Windows and WASIAndrew Kelley
2019-05-26tests passing on linuxAndrew Kelley
2019-05-26behavior tests passing on LinuxAndrew Kelley
2019-05-26more cleanup. down to just the `@hasDecl` builtinAndrew Kelley
2019-05-26clean up references to osAndrew Kelley
2019-05-26clean up references to posixAndrew Kelley
2019-05-26starting to fix the regressionsAndrew Kelley
2019-05-26rename "posix" to "bits"Andrew Kelley
2019-05-26do Jay's suggestion with posix/os API naming & layoutAndrew Kelley
2019-05-26more progress. moving windows API layer to its own fileAndrew Kelley
2019-05-26more progress on posix API layerAndrew Kelley
see #2380
2019-05-26extract posix functions from std/os.zig to std/os/posix.zigAndrew Kelley
See #2380
2019-05-20std.fmt.parse_float: Fix exponent calculationMarc Tiehuis
This was incorrectly translated as a u64. binary_exponent is an unadjusted value so can be negative. In becomes unconditionally positive when adding the bias.
2019-05-19ran zig fmt on stdlibemekoi
2019-05-18Remove more 64bit-centric assumptions from stdlibLemonBoy
2019-05-16VDSO calls must use the C CCLemonBoy
2019-05-16breaking changes to all bit manipulation intrinsicsShawn Landden
* `@clz`, `@ctz`, `@popCount`, `@bswap`, `@bitreverse` now have a type parameter * rename @bitreverse to @bitReverse * rename @bswap to @byteSwap Closes #2119 Closes #2120
2019-05-16the wasm freestanding _start function is return value voidAndrew Kelley
2019-05-16improvements to build-lib use case of WebAssemblyAndrew Kelley
* build-exe does include the startup code that supplies _start for the wasm32-freestanding target. Previously this did not occur because of logic excluding "freestanding". * build-lib for wasm32-freestanding target gets linked by LLD. To avoid infinite recursion, compiler_rt and zig libc are built as objects rather than libraries. - no "lib" prefix and ".wasm" extension instead of ".a". Rather than build-lib foo.zig producing "libfoo.a", now it produces "foo.wasm". * go back to using `.o` extension for webassembly objects * zig libc only provides _start symbol for wasm when linking libc.
2019-05-16std: update linux syscalls to 5.1daurnimator
2019-05-15improvements to zig's implementation of libc and WebAssemblyAndrew Kelley
* rename std/special/builtin.zig to std/special/c.zig not to be confused with @import("builtin") which is entirely different, this is zig's multi-target libc implementation. * WebAssembly: build-exe is for executables which have a main(). build-lib is for building libraries of functions to use from, for example, a web browser environment. - for now pass --export-all for libraries when there are any C objects because we have no way to detect the list of exports when compiling C code. - stop passing --no-entry for executables. if you want --no-entry then use build-lib. * make the "musl" ABI the default ABI for wasm32-freestanding. * zig provides libc for wasm32-freestanding-musl.
2019-05-15Fix off-by-one error in LEB128 parsingLemonBoy
2019-05-14clean up code now that #769 is implementedAndrew Kelley
2019-05-14Merge pull request #2482 from ziglang/linux-elf-readMarc Tiehuis
Mmap debug info on linux
2019-05-13Fix formatting for multiline asm expressionsLemonBoy
2019-05-13Merge branch 'asm-cc' of https://github.com/LemonBoy/zig into LemonBoy-asm-ccAndrew Kelley
2019-05-13Assemble asm files using CCLemonBoy
Stuffing all the files together and compiling the resulting blob with the main program is a terrible idea. Some files, namely the .S ones, must be run trough the C preprocessor before assembling them (#2437). Beside that the aggregate may be mis-compiled due to the presence of some flags that affect the following code. For example let's consider two files, a.s and b.s a.s ``` fn1: ret .data data1: .word 0 ``` b.s ``` fn2: ret ``` Now, fn1 and fn2 will be both placed in the .text section as intended if the two files are compiled separately. But if we merge them the `.data` flag ends up placing fn2 in the wrong section! This fixes a nasty crash where musl's memset ended up in the non-executable data segment, leading to too many hours of head-scratching.
2019-05-13Mmap debug info on linuxMarc Tiehuis
Closes #907.
2019-05-12zig fmt on the standard libraryAndrew Kelley
2019-05-12Undo parse2 importhryx
2019-05-12Recursive rewrite of stage2 parser, final synchryx
2019-05-12Recursive rewrite of stage2 parser, part 3hryx
2019-05-12Merge branch 'master' into rebasedhryx
2019-05-12Fix memory leak in parser testsTyler Philbrick
The `arena` instance being used bythe parse tree was valid and pointed to valid memory, but existed as a local variable inside the stack frame of the `parse` function (the `const arena`), which was never stored anywhere before leaving the scope. This meant that code above the `parse` function saw a valid instance of an `ArenaAllocator` that pointed to the same backing memory, but didn't posess any of the local state built up after the call to `parseRoot`, basically the caller saw an empty arena. This meant that when `deinit` was called, it saw an Arena with 0 allocations in it's `buffer_list` and wasn't able to destroy any of the memory. This caused it to leak and caused FailingAllocator to balk. The fix is to make sure the parse tree is using the same instance of ArenaAllocator as is reported up the call stack, the one inside the `Tree{}` object. I'm not sure why that field is marked with a comment to remove it, as it's used by the `std.ast.Tree.deinit()` function, but this change seems to solve the problem.
2019-05-12Recursive rewrite of stage2 parser, part 1hryx