diff options
| author | Ginger Bill <bill@gingerbill.org> | 2017-06-20 12:38:05 +0100 |
|---|---|---|
| committer | Ginger Bill <bill@gingerbill.org> | 2017-06-20 12:38:05 +0100 |
| commit | 5957d7f7bee7e5fac4035d47ecaaaad022adbfb8 (patch) | |
| tree | f8f38496e6691d4d5ea4317d7b7ae3811ab7e4c0 /src/check_decl.cpp | |
| parent | 35c102137f9a097584bf1af39e9809064293a0a3 (diff) | |
Implicit Parameter Passing based `context` system (replacing Thread Local Storage (TLS) approach)
Diffstat (limited to 'src/check_decl.cpp')
| -rw-r--r-- | src/check_decl.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/check_decl.cpp b/src/check_decl.cpp index dede1a26c..672673faf 100644 --- a/src/check_decl.cpp +++ b/src/check_decl.cpp @@ -333,6 +333,11 @@ void check_proc_decl(Checker *c, Entity *e, DeclInfo *d) { error(e->token, "Procedure type of `main` was expected to be `proc()`, got %s", str); gb_string_free(str); } + if (proc_type->Proc.calling_convention != ProcCC_Odin && + proc_type->Proc.calling_convention != ProcCC_Contextless) { + error(e->token, "Procedure `main` cannot have a custom calling convention"); + } + proc_type->Proc.calling_convention = ProcCC_Contextless; } if (is_inline && is_no_inline) { |