aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
authorgingerBill <bill@gingerbill.org>2021-04-14 17:15:28 +0100
committergingerBill <bill@gingerbill.org>2021-04-14 17:15:28 +0100
commit9adec628c1c6b3d24f7a8642bbf5c0c84586d161 (patch)
tree7f4785bcb7615922f71fc657bab029218f9be996 /src/checker.cpp
parent3e54cddf641e7d8ca79b0cbb12e1595727a9e888 (diff)
Add `@(cold)` attribute to procedure declarations
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index 0111872b9..e0b303369 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -2562,6 +2562,18 @@ DECL_ATTRIBUTE_PROC(proc_decl_attribute) {
error(elem, "Expected a boolean value for '%.*s'", LIT(name));
}
return true;
+ } else if (name == "cold") {
+ if (value == nullptr) {
+ ac->set_cold = true;
+ } else {
+ ExactValue ev = check_decl_attribute_value(c, value);
+ if (ev.kind == ExactValue_Bool) {
+ ac->set_cold = ev.value_bool;
+ } else {
+ error(elem, "Expected a boolean value for '%.*s' or no value whatsoever", LIT(name));
+ }
+ }
+ return true;
}
return false;
}