aboutsummaryrefslogtreecommitdiff
path: root/src/Cache.zig
AgeCommit message (Collapse)Author
2021-05-12translate-c: Ensure extra_cflags are passed to clangEvan Haas
Additionally ensure that the Zig cache incorporates any extra cflags when using translate-c. Fixes the issue identified in #8662
2021-05-08update usage of std.testing in stage2Veikka Tuominen
2021-03-01std: Deprecate 'x'/'X'/'e'/'E' special cases for u8 slicesLemonBoy
Let's follow the road paved by the removal of 'z'/'Z', the Formatter pattern is nice enough to let us remove the remaining four special cases and declare u8 slices free from any special casing!
2021-02-21std: Add more error checking in hexToBytesLemonBoy
Prevent the function from turning into an endless loop that may or may not perform OOB accesses.
2021-01-07Reduce use of deprecated IO typesJay Petacat
Related: #4917
2021-01-03stage2: remove the Cache deadlock detection codeAndrew Kelley
It's more trouble than it's worth; it didn't even catch the most recent incident because it was across process boundaries anyway.
2021-01-03stage2: fix Cache debug deadlock code memory leakAndrew Kelley
2021-01-03stage2: enable building test-stage2 with LLVM backend enabledTimon Kruiper
We can now run `zig build test-stage2 -Denable-llvm`.
2021-01-02stage2: Use {s} instead of {} when formatting stringsLemonBoy
2020-12-28stage2: better error message for root zig source file not foundAndrew Kelley
closes #6777 closes #6893
2020-12-26stage2: Cache deadlock debugging only for safe build modesAndrew Kelley
2020-12-25stage2: Cache: fix resource management of the deadlock debug codeAndrew Kelley
2020-12-25stage2: Cache: add debug deadlock detection codeAndrew Kelley
2020-12-11stage2: detect redundant C/C++ source filesAndrew Kelley
Cache exposes BinDigest. Compilation gains a set of a BinDigest for every C/C++ source file. We detect when the same source/flags have already been added and emit a compile error. This prevents a deadlock in the caching system. Closes #7308
2020-12-01stage2: add -femit-foo=bar args to the cache hashAndrew Kelley
Closes #6979 Closes #7036
2020-10-23When checking a cache hit, make sure to handle a (re)moved source fileTimon Kruiper
When a file cannot be found in the cache, it is not a hit. Closes #6729
2020-10-17std/crypto: make the whole APIs more consistentFrank Denis
- use `PascalCase` for all types. So, AES256GCM is now Aes256Gcm. - consistently use `_length` instead of mixing `_size` and `_length` for the constants we expose - Use `minimum_key_length` when it represents an actual minimum length. Otherwise, use `key_length`. - Require output buffers (for ciphertexts, macs, hashes) to be of the right size, not at least of that size in some functions, and the exact size elsewhere. - Use a `_bits` suffix instead of `_length` when a size is represented as a number of bits to avoid confusion. - Functions returning a constant-sized slice are now defined as a slice instead of a pointer + a runtime assertion. This is the case for most hash functions. - Use `camelCase` for all functions instead of `snake_case`. No functional changes, but these are breaking API changes.
2020-10-09fixups to previous commitAndrew Kelley
* std.fs.Dir.readFile: add doc comments to explain what it means when the returned slice has the same length as the supplied buffer. * introduce readSmallFile / writeSmallFile to abstract over the decision to use symlink or file contents to store data.
2020-09-28stage2: fix Cache not calling ftruncate in writeManifestAndrew Kelley
this led to a corrupt cache when the number of files got smaller. it is now fixed.
2020-09-28stage2: building mingw-w64 and COFF LDD linkingAndrew Kelley
still TODO is the task of creating import .lib files for DLLs on the fly both for -lfoo and for e.g. `extern "kernel32"`
2020-09-24stage2: implement @cImportAndrew Kelley
Also rename Cache.CacheHash to Cache.Manifest
2020-09-22stage2: implement zig buildAndrew Kelley
As part of this: * add std.process.cleanExit. closes #6395 - use it in several places * adjust the alignment of text in `zig build --help` menu * Cache: support the concept of "unhit" so that we properly keep track of the cache when we find out using the secondary hash that the cache "hit" was actually a miss. Use this to fix false negatives of caching of stage1 build artifacts. * fix not deleting the symlink hash for stage1 build artifacts causing false positives. * implement support for Package arguments in stage1 build artifacts * update and add missing usage text * add --override-lib-dir and --enable-cache CLI options - `--enable-cache` takes the place of `--cache on` * CLI supports -femit-bin=foo combined with --enable-cache to do an "update file" operation. --enable-cache without that argument will build the output into a cache directory and then print the path to stdout (matching master branch behavior). * errors surfacing from main() now print "error: Foo" instead of "error: error.Foo".
2020-09-21rename src-self-hosted/ to src/Andrew Kelley