Преглед на файлове

returns must be inside a function

Kajetan Johannes Hammerle преди 4 години
родител
ревизия
079563b3c7
променени са 1 файла, в които са добавени 3 реда и са изтрити 1 реда
  1. 3 1
      Compiler.c

+ 3 - 1
Compiler.c

@@ -277,7 +277,9 @@ static void cFunction() {
 }
 
 static void cReturn() {
-    if(returnIndex >= RETURN_BUFFER) {
+    if(varIndex == 0) {
+        cError("return without a function on line %d", line);
+    } else if(returnIndex >= RETURN_BUFFER) {
         cError("too much returns in function around line %d", line);
     }
     cAddOperation(OP_POP);