mirror of
https://github.com/Ed94/Odin.git
synced 2026-06-25 15:05:00 -07:00
Add -vet-explicit-allocators
This vet flag will make it so that allocators must be explicitly used in places where context.allocator and context.temp_allocator are a procedure parameter. The goal of this flag is to prevent using the context.allocator in cases where a different allocator was meant to be used. Some code bases default context.allocator to nil/panic allocator to catch this at runtime. This effectively makes it a compile time error instead.
This commit is contained in:
@@ -33,6 +33,10 @@ gb_internal bool ast_file_vet_deprecated(AstFile *f) {
|
||||
return (ast_file_vet_flags(f) & VetFlag_Deprecated) != 0;
|
||||
}
|
||||
|
||||
gb_internal bool ast_file_vet_explicit_allocators(AstFile *f) {
|
||||
return (ast_file_vet_flags(f) & VetFlag_ExplicitAllocators) != 0;
|
||||
}
|
||||
|
||||
gb_internal bool file_allow_newline(AstFile *f) {
|
||||
bool is_strict = build_context.strict_style || ast_file_vet_style(f);
|
||||
return !is_strict;
|
||||
@@ -6325,6 +6329,7 @@ gb_internal u64 parse_vet_tag(Token token_for_pos, String s) {
|
||||
error_line("\textra\n");
|
||||
error_line("\tcast\n");
|
||||
error_line("\ttabs\n");
|
||||
error_line("\texplicit-allocators\n");
|
||||
return build_context.vet_flags;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user