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
..
2024-07-09 14:25:42 -07:00
2024-07-09 14:25:42 -07:00
2024-08-07 00:48:32 -07:00
2024-07-25 18:52:20 -07:00
2024-03-21 14:11:46 -07:00
2024-02-23 02:37:11 -07:00
2024-07-23 11:43:12 -07:00
2024-07-09 14:25:42 -07:00
2024-08-15 22:05:53 -07:00
2024-07-19 00:30:32 -07:00
2024-07-09 14:25:42 -07:00
2024-07-02 16:31:15 +02:00
2024-03-10 18:13:30 -07:00
2024-03-21 14:11:46 -07:00
2024-07-09 14:25:42 -07:00
2024-08-12 08:59:49 +02:00
2024-03-10 18:13:30 -07:00
2024-07-19 00:30:32 -07:00
2024-05-26 16:13:54 -04:00
2024-03-21 14:11:46 -07:00
2024-07-20 01:06:29 -07:00
2024-02-05 11:55:14 +03:30
2024-07-19 00:30:32 -07:00
2024-08-07 00:48:32 -07:00
2024-07-31 16:57:42 -07:00
2024-07-28 21:34:14 -07:00
2024-07-19 00:30:32 -07:00
2024-04-15 15:24:30 -07:00
2024-07-19 00:30:32 -07:00
2024-08-01 22:11:35 -07:00
2024-07-09 14:25:42 -07:00
2024-08-15 22:05:53 -07:00
2024-07-25 18:52:20 -07:00
2024-07-19 00:30:32 -07:00
2024-07-31 16:57:42 -07:00
2024-06-17 16:12:19 -04:00