ref: 218d53be3716a0d504c256706486dba92e2b9f0a
dir: /MAG.notes/
cvalues.c: #include "operators.c"
flisp.c: #include "cvalues.c"
flisp.c: #include "types.c"
flisp.c: #include "print.c"
flisp.c: #include "read.c"
flisp.c: #include "equal.c"
llt/hashing.c: #include "lookup3.c"
================================================================================
$ make
cc -o flmain.o -c flmain.c -O2 -g -Wall -Wextra -Wno-parentheses -std=c99 -I3rd -Illt -Iposix
sed -nE 's/^BUILTIN[_]?(\(".*)/BUILTIN_FN\1/gp' *.c >builtin_fns.h
cc -o flisp.o -c flisp.c -O2 -g -Wall -Wextra -Wno-parentheses -std=c99 -I3rd -Illt -Iposix
flisp.c: In function 'fn_builtin_function':
flisp.c:1855:24: warning: implicit declaration of function 'fn_builtin_builtin'; did you mean 'fn_builtin_function'? [-Wimplicit-function-declaration]
1855 | return fn_builtin_builtin(args, nargs);
| ^~~~~~~~~~~~~~~~~~
| fn_builtin_function
In file included from flisp.c:9:
builtin_fns.h: At top level:
flisp.h:308:17: error: conflicting types for 'fn_builtin_builtin'; have 'value_t(value_t *, int)' {aka 'long unsigned int(long unsigned int *, int)'}
308 | value_t fn_builtin_##cname(value_t *args, int nargs)
| ^~~~~~~~~~~
flisp.c:2060:33: note: in expansion of macro 'BUILTIN'
2060 | #define BUILTIN_FN(l, c) extern BUILTIN(l, c);
| ^~~~~~~
builtin_fns.h:46:1: note: in expansion of macro 'BUILTIN_FN'
46 | BUILTIN_FN("builtin", builtin)
| ^~~~~~~~~~
flisp.c:1855:24: note: previous implicit declaration of 'fn_builtin_builtin' with type 'int()'
1855 | return fn_builtin_builtin(args, nargs);
| ^~~~~~~~~~~~~~~~~~
make: *** [Makefile:79: flisp.o] Error 1