mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-24 06:35:00 -07:00
Add sanitize_address attribute to all normal packages
This commit is contained in:
+1
-1
@@ -858,7 +858,7 @@ gb_internal AstPackage *create_builtin_package(char const *name) {
|
||||
gbAllocator a = permanent_allocator();
|
||||
AstPackage *pkg = gb_alloc_item(a, AstPackage);
|
||||
pkg->name = make_string_c(name);
|
||||
pkg->kind = Package_Normal;
|
||||
pkg->kind = Package_Builtin;
|
||||
|
||||
pkg->scope = create_scope(nullptr, nullptr);
|
||||
pkg->scope->flags |= ScopeFlag_Pkg | ScopeFlag_Global | ScopeFlag_Builtin;
|
||||
|
||||
+2
-4
@@ -1101,11 +1101,9 @@ gb_internal void odin_doc_write_docs(OdinDocWriter *w) {
|
||||
case Package_Init:
|
||||
pkg_flags |= OdinDocPkgFlag_Init;
|
||||
break;
|
||||
}
|
||||
if (pkg->name == "builtin") {
|
||||
pkg_flags |= OdinDocPkgFlag_Builtin;
|
||||
} else if (pkg->name == "intrinsics") {
|
||||
case Package_Builtin:
|
||||
pkg_flags |= OdinDocPkgFlag_Builtin;
|
||||
break;
|
||||
}
|
||||
|
||||
OdinDocPkg doc_pkg = {};
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -60,6 +60,7 @@ enum PackageKind {
|
||||
Package_Normal,
|
||||
Package_Runtime,
|
||||
Package_Init,
|
||||
Package_Builtin,
|
||||
};
|
||||
|
||||
struct ImportedFile {
|
||||
|
||||
Reference in New Issue
Block a user