diff options
| author | gingerBill <bill@gingerbill.org> | 2021-04-14 17:15:28 +0100 |
|---|---|---|
| committer | gingerBill <bill@gingerbill.org> | 2021-04-14 17:15:28 +0100 |
| commit | 9adec628c1c6b3d24f7a8642bbf5c0c84586d161 (patch) | |
| tree | 7f4785bcb7615922f71fc657bab029218f9be996 /src/checker.cpp | |
| parent | 3e54cddf641e7d8ca79b0cbb12e1595727a9e888 (diff) | |
Add `@(cold)` attribute to procedure declarations
Diffstat (limited to 'src/checker.cpp')
| -rw-r--r-- | src/checker.cpp | 12 |
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; } |