aboutsummaryrefslogtreecommitdiff
path: root/src/check_decl.cpp
diff options
context:
space:
mode:
authorVladPavliuk <pavliuk.vlad@gmail.com>2024-07-14 18:22:20 +0300
committerVladPavliuk <pavliuk.vlad@gmail.com>2024-07-14 18:22:20 +0300
commit3f8712edb03390c1eed4dced27f7c2707cf14ecb (patch)
treea186834d911e19418836bf2ca3f52f334c11267a /src/check_decl.cpp
parent79e2f63182581547dcdb7593397d1c3e280a5670 (diff)
parente7d37607ef9ce54a80d83230150874b71d628d6d (diff)
Merge branch 'master' into json-add-int-key-map-support
Diffstat (limited to 'src/check_decl.cpp')
-rw-r--r--src/check_decl.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/check_decl.cpp b/src/check_decl.cpp
index 7d81d102d..6828774e4 100644
--- a/src/check_decl.cpp
+++ b/src/check_decl.cpp
@@ -1869,5 +1869,14 @@ gb_internal bool check_proc_body(CheckerContext *ctx_, Token token, DeclInfo *de
add_deps_from_child_to_parent(decl);
+ for (VariadicReuseData const &vr : decl->variadic_reuses) {
+ GB_ASSERT(vr.slice_type->kind == Type_Slice);
+ Type *elem = vr.slice_type->Slice.elem;
+ i64 size = type_size_of(elem);
+ i64 align = type_align_of(elem);
+ decl->variadic_reuse_max_bytes = gb_max(decl->variadic_reuse_max_bytes, size*vr.max_count);
+ decl->variadic_reuse_max_align = gb_max(decl->variadic_reuse_max_align, align);
+ }
+
return true;
}