aboutsummaryrefslogtreecommitdiff
path: root/src/llvm_backend_proc.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2023-09-21 11:13:26 +0100
committergingerBill <bill@gingerbill.org>2023-09-21 11:13:26 +0100
commit38d2a0ddb9b1e74661dd05fae71e3a2d47e8de2c (patch)
tree6b9b476eed4acf98cf4d72eadfcad203592f0ad9 /src/llvm_backend_proc.cpp
parent735bb147e271fc441f265435dfafc143b1d2e71a (diff)
Add `sanitize_address` attribute to all normal packages
Diffstat (limited to 'src/llvm_backend_proc.cpp')
-rw-r--r--src/llvm_backend_proc.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/llvm_backend_proc.cpp b/src/llvm_backend_proc.cpp
index b8f6f0f30..f86e008a9 100644
--- a/src/llvm_backend_proc.cpp
+++ b/src/llvm_backend_proc.cpp
@@ -152,7 +152,6 @@ gb_internal lbProcedure *lb_create_procedure(lbModule *m, Entity *entity, bool i
lb_add_attribute_to_proc(m, p->value, "noredzone");
}
-
switch (p->inlining) {
case ProcInlining_inline:
lb_add_attribute_to_proc(m, p->value, "alwaysinline");
@@ -318,6 +317,12 @@ gb_internal lbProcedure *lb_create_procedure(lbModule *m, Entity *entity, bool i
}
}
+ if (p->body && entity->pkg && (entity->pkg->kind == Package_Normal) || (entity->pkg->kind == Package_Init)) {
+ if (build_context.sanitizer_flags & SanitizerFlag_Address) {
+ lb_add_attribute_to_proc(m, p->value, "sanitize_address");
+ }
+ }
+
lbValue proc_value = {p->value, p->type};
lb_add_entity(m, entity, proc_value);
lb_add_member(m, p->name, proc_value);