From 79e2d683b670b9e7f8fc76f31a79e9d20bb9dcd3 Mon Sep 17 00:00:00 2001 From: Christoffer Lerno Date: Fri, 7 Jul 2023 12:00:59 +0200 Subject: [PATCH] Live tracing failed to trace expression types. This fixes #832. --- src/compiler/sema_liveness.c | 12 +++++++----- src/version.h | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/src/compiler/sema_liveness.c b/src/compiler/sema_liveness.c index 6b6d625cd..a824475dd 100644 --- a/src/compiler/sema_liveness.c +++ b/src/compiler/sema_liveness.c @@ -8,6 +8,12 @@ static void sema_trace_expr_liveness(Expr *expr); static void sema_trace_stmt_liveness(Ast *ast); static void sema_trace_decl_liveness(Decl *decl); +INLINE void sema_trace_type_liveness(Type *type) +{ + if (!type || !type_is_user_defined(type)) return; + sema_trace_decl_liveness(type->decl); +} + INLINE void sema_trace_exprid_liveness(ExprId expr) { if (expr) sema_trace_expr_liveness(exprptr(expr)); @@ -234,6 +240,7 @@ static void sema_trace_expr_liveness(Expr *expr) { RETRY: if (!expr) return; + sema_trace_type_liveness(expr->type); switch (expr->expr_kind) { case EXPR_SUBSCRIPT_ASSIGN: @@ -491,11 +498,6 @@ void sema_trace_liveness(void) FOREACH_END(); } -INLINE void sema_trace_type_liveness(Type *type) -{ - if (!type || !type_is_user_defined(type)) return; - sema_trace_decl_liveness(type->decl); -} INLINE void sema_trace_decl_dynamic_methods(Decl *decl) { diff --git a/src/version.h b/src/version.h index 6f279ca5a..290013907 100644 --- a/src/version.h +++ b/src/version.h @@ -1 +1 @@ -#define COMPILER_VERSION "0.4.555" \ No newline at end of file +#define COMPILER_VERSION "0.4.556" \ No newline at end of file