Andrew Kelley 7b8cb881df stage2: improvements towards zig test
* There is now a main_pkg in addition to root_pkg. They are usually the
   same. When using `zig test`, main_pkg is the user's source file and
   root_pkg has the test runner.
 * scanDecl no longer looks for test decls outside the package being
   tested. honoring `--test-filter` is still TODO.
 * test runner main function has a void return value rather than
   `anyerror!void`
 * Sema is improved to generate better AIR for for loops on slices.
 * Sema: fix incorrect capacity calculation in zirBoolBr
 * Sema: add compile errors for trying to use slice fields as an lvalue.
 * Sema: fix type coercion for error unions
 * Sema: fix analyzeVarRef generating garbage AIR
 * C codegen: fix renderValue for error unions with 0 bit payload
 * C codegen: implement function pointer calls
 * CLI: fix usage text

 Adds 4 new AIR instructions:

  * slice_len, slice_ptr: to get the ptr and len fields of a slice.
  * slice_elem_val, ptr_slice_elem_val: to get the element value of
    a slice, and a pointer to a slice.

AstGen gains a new functionality:

 * One of the unused flags of struct decls is now used to indicate
   structs that are known to have non-zero size based on the AST alone.
2021-07-23 22:42:31 -07:00
..
2021-06-30 21:49:00 -05: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-04 16:15:23 +02:00
2021-06-17 16:37:38 -04:00
2020-12-31 15:45:24 -08:00
2021-06-30 21:49:38 -05:00
2020-12-31 15:45:24 -08:00
2021-06-21 17:03:03 -07:00
2021-06-30 21:49:00 -05:00
2021-05-08 15:15:30 +03:00
2021-07-08 14:30:45 -04:00
2020-12-31 15:45:24 -08:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2020-12-31 15:45:24 -08:00
2021-05-08 15:15:30 +03:00
2020-12-31 15:45:24 -08:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-07-19 12:55:05 +03:00
2021-06-10 20:13:43 -07:00
2021-06-21 17:03:03 -07:00
2021-06-21 17:03:03 -07:00
2021-07-20 10:22:06 +02:00
2021-06-21 17:03:03 -07:00
2021-07-08 14:30:45 -04:00
2021-06-21 17:03:03 -07:00
2021-07-11 01:58:26 -04:00
2021-05-08 15:15:30 +03:00
2021-07-15 20:37:16 +03:00
2021-05-08 15:15:30 +03:00