shithub: femtolisp

ref: f4e2fb078b67553b832ae8a18b53deb451be4f99
dir: /MAG.notes/

View raw version

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