aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
authorjason <jkercher@rlcsystems.com>2024-06-19 12:33:13 -0400
committerjason <jkercher@rlcsystems.com>2024-06-19 12:33:13 -0400
commite6d84d18d30517ab6c7e8559c18b4271bbff9d61 (patch)
treeaad03230914fe6541ed6a939864856a16af8c268 /src/checker.cpp
parenta9b6d282914e2a63292e59a4839995ccdc881f52 (diff)
parent2797dc6452bfd5c20d47271d52647ef40cce74fc (diff)
Merge remote-tracking branch 'origin/master' into more-windows-comm
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp8
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) {