X-Git-Url: https://code.kerkeslager.com/?p=fur;a=blobdiff_plain;f=templates%2Fprogram.c;h=08921b1807d3d38d06648f7d8391eb9c1b51f754;hp=18d861690d109f09d07f5afab181a3f1f618e508;hb=328947882d63d9d4f2ead0dbc54bee33bef6c33b;hpb=bca87656ab93d4b99b4b007bfd54580bdb19f9dc diff --git a/templates/program.c b/templates/program.c index 18d8616..08921b1 100644 --- a/templates/program.c +++ b/templates/program.c @@ -545,7 +545,7 @@ Object operator$negate(Object input) } // TODO Make this conditionally added -Object operator$concatenate(Stack* stack, jmp_buf parent_jump) +Object operator$concatenate(Stack* stack, jmp_buf parent_jump, size_t line) { Object right = Stack_pop(stack); Object left = Stack_pop(stack); @@ -578,7 +578,7 @@ Object operator$concatenate(Stack* stack, jmp_buf parent_jump) } {% for id in infix_declarations %} -Object operator${{ id.name }}(Stack* stack, jmp_buf parent_jump) +Object operator${{ id.name }}(Stack* stack, jmp_buf parent_jump, size_t line) { Object right = Stack_pop(stack); Object left = Stack_pop(stack); @@ -589,7 +589,7 @@ Object operator${{ id.name }}(Stack* stack, jmp_buf parent_jump) {% if id.name == 'integerDivide' or id.name == 'modularDivide' %} if(right.instance.integer == 0) { - fprintf(stderr, "DivisionByZeroError\n"); + fprintf(stderr, "DivisionByZeroError on line %zu\n", line); longjmp(parent_jump, 1); } {% endif %}