Andrew Kelley
6ae0825e7f
Sema: implement comptime variables
...
Sema now properly handles alloc_inferred and alloc_inferred_mut ZIR
instructions inside a comptime execution context. In this case it
creates Decl objects and points to them with the new `decl_ref_mut`
Value Tag. `storePtr` is updated to mutate such Decl types and values.
In this case it destroys the old arena and makes a new one, preventing
memory growth during comptime code execution.
Additionally:
* Fix `storePtr` to emit a compile error for a pointer comptime-known
to be undefined.
* Fix `storePtr` to emit runtime instructions for all the cases that a
pointer is comptime-known but does not support comptime
dereferencing, such as `@intToPtr` on a hard-coded address, or an
extern function.
* Fix `ret_coerce` not coercing inside inline function call context.
2021-08-01 12:36:04 -07:00
..
2021-07-15 20:56:24 -04:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2021-04-29 15:54:04 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-08-01 12:36:04 -07:00
2021-06-21 17:03:03 -07:00
2021-06-14 00:16:40 +03:00
2021-05-08 14:45:21 -07:00
2021-08-01 12:36:04 -07:00
2021-06-05 22:08:36 -04:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-06-10 08:33:42 +03:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-07-13 10:16:57 +03:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-06-14 00:16:40 +03:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-07-25 22:43:52 -04:00
2021-07-26 20:41:00 -04:00
2021-04-29 15:54:04 -07:00
2021-08-01 12:36:04 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-07-25 20:35:55 -04:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-07-26 20:05:48 -04:00
2021-06-09 23:54:23 -04:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-07-08 14:33:01 -04:00
2021-05-08 14:45:21 -07:00
2021-06-13 16:53:01 +03:00
2021-06-13 16:53:01 +03:00
2021-07-06 12:42:18 +03:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:04 -07:00
2021-07-28 18:17:11 -04:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-06-27 12:26:29 +03:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-06-23 09:52:09 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00
2021-06-21 17:03:03 -07:00
2021-05-08 14:45:21 -07:00