intdiv.c:136:4: error: expected expression static int warned = 0; ^ intdiv.c:137:9: error: use of undeclared identifier 'warned' if (!warned) { ^ intdiv.c:139:5: error: use of undeclared identifier 'warned' warned = 1; ^ intdiv.c:143:3: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] num = double_to_int(nv.num_value); ^ intdiv.c:143:23: error: use of undeclared identifier 'nv' num = double_to_int(nv.num_value); ^ intdiv.c:144:3: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] denom = double_to_int(dv.num_value); ^ intdiv.c:144:25: error: use of undeclared identifier 'dv' denom = double_to_int(dv.num_value); ^ intdiv.c:146:3: error: expected identifier or '(' if (denom == 0.0) { ^ intdiv.c:151:3: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] quotient = double_to_int(num / denom); ^ intdiv.c:151:14: error: initializer element is not a compile-time constant quotient = double_to_int(num / denom); ^~~~~~~~~~~~~~~~~~~~~~~~~~ intdiv.c:153:3: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] remainder = fmod(num, denom); ^ intdiv.c:153:3: error: redefinition of 'remainder' as different kind of symbol /usr/include/math.h:518:15: note: previous definition is here extern double remainder(double, double); ^ intdiv.c:158:3: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] remainder = double_to_int(remainder); ^ intdiv.c:158:3: error: redefinition of 'remainder' as different kind of symbol /usr/include/math.h:518:15: note: previous definition is here extern double remainder(double, double); ^ intdiv.c:158:29: error: passing 'double (double, double)' to parameter of incompatible type 'double' remainder = double_to_int(remainder); ^~~~~~~~~ intdiv.c:40:22: note: passing argument to parameter 'd' here double_to_int(double d) ^ intdiv.c:160:27: error: expected identifier array_set_number(array, "quotient", 8, quotient); ^ intdiv.c:160:3: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] array_set_number(array, "quotient", 8, quotient); ^ intdiv.c:160:3: error: conflicting types for 'array_set_number' intdiv.c:52:1: note: previous definition is here array_set_number(awk_array_t array, const char *sub, size_t sublen, double num) ^ intdiv.c:161:27: error: expected identifier array_set_number(array, "remainder", 9, remainder); ^ intdiv.c:161:3: warning: type specifier missing, defaults to 'int' [-Wimplicit-int] array_set_number(array, "remainder", 9, remainder); ^ intdiv.c:161:3: error: conflicting types for 'array_set_number' intdiv.c:52:1: note: previous definition is here array_set_number(awk_array_t array, const char *sub, size_t sublen, double num) ^ intdiv.c:207:2: error: expected identifier or '(' return make_number(0, result); ^ intdiv.c:208:1: error: extraneous closing brace ('}') } ^ 7 warnings and 16 errors generated. make[4]: *** [Makefile:798: intdiv.lo] Error 1 make[4]: *** Waiting for unfinished jobs.... make[3]: *** [Makefile:863: all-recursive] Error 1 make[2]: *** [Makefile:619: all] Error 2 make[1]: *** [Makefile:725: all-recursive] Error 1 make: *** [Makefile:550: all] Error 2