aboutsummaryrefslogtreecommitdiff
path: root/src/generator.c
diff options
context:
space:
mode:
authorMustafa Quraish <[email protected]>2022-02-05 05:47:52 -0500
committerMustafa Quraish <[email protected]>2022-02-05 08:56:15 -0500
commit2ca7824bedade35a08da5c037b8dc999a54e84f1 (patch)
tree281421602911828b060f43a540862517c19370b3 /src/generator.c
parentHandle command-line arguments properly on linux (diff)
downloadcup-2ca7824bedade35a08da5c037b8dc999a54e84f1.tar.xz
cup-2ca7824bedade35a08da5c037b8dc999a54e84f1.zip
Allow function declarations without a definition
Diffstat (limited to 'src/generator.c')
-rw-r--r--src/generator.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/generator.c b/src/generator.c
index 82c492b..d380f36 100644
--- a/src/generator.c
+++ b/src/generator.c
@@ -444,6 +444,9 @@ void generate_function_header(Node *func, FILE *out)
void generate_function(Node *func, FILE *out)
{
assert(func->type == AST_FUNC);
+ // This will happen for declarations.
+ if (func->func.body == NULL)
+ return;
current_function = func;
generate_function_header(func, out);
generate_block(func->func.body, out);