aboutsummaryrefslogtreecommitdiff
path: root/src/checker.cpp
diff options
context:
space:
mode:
authorGinger Bill <bill@gingerbill.org>2017-06-20 12:38:05 +0100
committerGinger Bill <bill@gingerbill.org>2017-06-20 12:38:05 +0100
commit5957d7f7bee7e5fac4035d47ecaaaad022adbfb8 (patch)
treef8f38496e6691d4d5ea4317d7b7ae3811ab7e4c0 /src/checker.cpp
parent35c102137f9a097584bf1af39e9809064293a0a3 (diff)
Implicit Parameter Passing based `context` system (replacing Thread Local Storage (TLS) approach)
Diffstat (limited to 'src/checker.cpp')
-rw-r--r--src/checker.cpp12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/checker.cpp b/src/checker.cpp
index eaa38aaa4..c5b17cc2f 100644
--- a/src/checker.cpp
+++ b/src/checker.cpp
@@ -1779,14 +1779,16 @@ void check_all_global_entities(Checker *c) {
continue;
}
- if (e->kind != Entity_Procedure && e->token.string == "main") {
- if (e->scope->is_init) {
+ if (e->token.string == "main") {
+ if (e->kind != Entity_Procedure) {
+ if (e->scope->is_init) {
+ error(e->token, "`main` is reserved as the entry point procedure in the initial scope");
+ continue;
+ }
+ } else if (e->scope->is_global) {
error(e->token, "`main` is reserved as the entry point procedure in the initial scope");
continue;
}
- } else if (e->scope->is_global && e->token.string == "main") {
- error(e->token, "`main` is reserved as the entry point procedure in the initial scope");
- continue;
}
CheckerContext prev_context = c->context;