diff options
author | Leo Tenenbaum <pommicket@gmail.com> | 2020-01-24 18:07:14 -0500 |
---|---|---|
committer | Leo Tenenbaum <pommicket@gmail.com> | 2020-01-24 18:07:14 -0500 |
commit | d8635ac6f0d91f110587df4a9d5a60a2154b55c3 (patch) | |
tree | 03ad42e85971d30cd006f26167aab4780b9cc399 /package.c | |
parent | 7645cdc5e3635623f89042d80d4dfd5dd4a95dda (diff) |
more #builtin
Diffstat (limited to 'package.c')
-rw-r--r-- | package.c | 17 |
1 files changed, 17 insertions, 0 deletions
@@ -669,6 +669,15 @@ static bool export_expr(Exporter *ex, Expression *e) { if (!export_expr(ex, e->c.code)) return false; break; + case EXPR_BUILTIN: + if (found_type) { + possibly_static_assert(BUILTIN_VAL_COUNT <= 256); + export_u8(ex, e->builtin.which.val); + } else { + if (!export_expr(ex, e->builtin.which.expr)) + return false; + } + break; case EXPR_IDENT: export_ident(ex, e->ident); break; @@ -833,6 +842,14 @@ static void import_expr(Importer *im, Expression *e) { case EXPR_C: e->c.code = import_expr_(im); break; + case EXPR_BUILTIN: + if (found_type) { + possibly_static_assert(BUILTIN_VAL_COUNT <= 256); + e->builtin.which.val = import_u8(im); + } else { + e->builtin.which.expr = import_expr_(im); + } + break; case EXPR_IDENT: e->ident = import_ident(im); break; |