aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index 5d8d6dcdc..f544ea5e6 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -2660,10 +2660,14 @@ DECL_ATTRIBUTE_PROC(proc_decl_attribute) {
}
return true;
} else if (name == "require") {
- if (value != nullptr) {
- error(elem, "'require' does not have any parameters");
+ ExactValue ev = check_decl_attribute_value(c, value);
+ if (ev.kind == ExactValue_Invalid) {
+ ac->require_declaration = true;
+ } else if (ev.kind == ExactValue_Bool) {
+ ac->require_declaration = ev.value_bool;
+ } else {
+ error(value, "Expected either a boolean or no parameter for 'require'");
}
- ac->require_declaration = true;
return true;
} else if (name == "init") {
if (value != nullptr) {