zig/lib
mlugg 43fdd061f7
AstGen: incorporate extra information into source hashes
* Indices of referenced captures
* Line and column of `@src()`

The second point aligns with a reversal of the "incremental compilation"
section of https://github.com/ziglang/zig/issues/2029#issuecomment-645793168.
This reversal was already done as #17688 (46a6d50), with the idea to
push incremental compilation down the line. My proposal is to keep it as
comptime-known, and simply re-analyze uses of `@src()` whenever their
line/column change.

I think this decision is reasonable for a few reasons:

* The Zig compiler is quite fast. Occasionally re-analyzing a few
  functions containing `@src()` calls is perfectly acceptable and won't
  noticably impact update times.
* The system described by Andrew in #2029 is currently vaporware.
* The system described by Andrew in #2029 is non-trivial to implement.
  In particular, it requires some way to have backends update a single
  global in certain cases, without re-doing semantic analysis. There is
  no other part of incremental compilation which requires this.
* Having `@src().line` be comptime-known is useful. For instance, #17688
  was justified by broken Tracy integration because the source line
  couldn't be comptime-known.
2024-08-21 01:30:46 +01:00
..
compiler compiler: handle eval branch quota in memoized calls 2024-08-21 01:26:55 +01:00
compiler_rt compiler-rt: Fix the leoncasa CPU feature check for sparc32. 2024-08-12 14:36:21 -07:00
docs wasm zig source rendering: fix annotation location off-by-one 2024-08-07 00:48:32 -07:00
fuzzer more optimized and correct management of 8-bit PC counters 2024-08-08 21:46:36 -07:00
include update C language headers to LLVM 18 2024-05-08 19:37:28 -07:00
init update comment in init template 2024-08-18 14:23:49 -07:00
libc loongarch: add glibc start.S to make zig-bootstrap work for loongarch64-linux-gnu (#21015) 2024-08-14 21:32:03 +00:00
libcxx update libcxx and libcxxabi to llvm 18.1.6 2024-05-20 16:12:36 -04:00
libcxxabi update libcxx and libcxxabi to llvm 18.1.6 2024-05-20 16:12:36 -04:00
libunwind libunwind: update to LLVM 18 2024-05-08 19:37:29 -07:00
std AstGen: incorporate extra information into source hashes 2024-08-21 01:30:46 +01:00
tsan tsan: update rtl files to LLVM 17.0.6 2024-01-10 01:00:37 -07:00
c.zig std.os.linux: Move clone() here and stop exporting it. 2024-08-07 01:19:51 -07:00
compiler_rt.zig stage2-wasm: bit_reverse 2024-06-16 11:53:33 +02:00
fuzzer.zig more optimized and correct management of 8-bit PC counters 2024-08-08 21:46:36 -07:00
zig.h zig.h: fixup pointer atomic load definitions 2024-07-26 10:42:10 -04:00