diff options
| author | jason <jkercher@rlcsystems.com> | 2024-06-19 12:33:13 -0400 |
|---|---|---|
| committer | jason <jkercher@rlcsystems.com> | 2024-06-19 12:33:13 -0400 |
| commit | e6d84d18d30517ab6c7e8559c18b4271bbff9d61 (patch) | |
| tree | aad03230914fe6541ed6a939864856a16af8c268 /src/checker.cpp | |
| parent | a9b6d282914e2a63292e59a4839995ccdc881f52 (diff) | |
| parent | 2797dc6452bfd5c20d47271d52647ef40cce74fc (diff) | |
Merge remote-tracking branch 'origin/master' into more-windows-comm
Diffstat (limited to 'src/checker.cpp')
| -rw-r--r-- | src/checker.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/checker.cpp b/src/checker.cpp index 852fb89bb..49726c090 100644 --- a/src/checker.cpp +++ b/src/checker.cpp @@ -4110,6 +4110,7 @@ gb_internal void check_collect_value_decl(CheckerContext *c, Ast *decl) { bool is_test = false; bool is_init = false; bool is_fini = false; + bool is_priv = false; for_array(i, vd->attributes) { Ast *attr = vd->attributes[i]; @@ -4154,6 +4155,8 @@ gb_internal void check_collect_value_decl(CheckerContext *c, Ast *decl) { } if (!success) { error(value, "'%.*s' expects no parameter, or a string literal containing \"file\" or \"package\"", LIT(name)); + } else { + is_priv = true; } @@ -4175,6 +4178,11 @@ gb_internal void check_collect_value_decl(CheckerContext *c, Ast *decl) { } } + if (is_priv && is_test) { + error(decl, "Attribute 'private' is not allowed on a test case"); + return; + } + if (entity_visibility_kind == EntityVisiblity_Public && (c->scope->flags&ScopeFlag_File) && c->scope->file) { |