hi all, Goal: compile with minimum commands + -Wall Patch attached. 4 new words, others not required. compiles without warnings and pass selftests on modern Linux.
https://gcc.gnu.org/onlinedocs/gcc-4.7.4/gcc/Warning-Options.html#Warning-Options 1. -Wall - says itself 2. -Wno-parentheses for this types of warnings: big.c: In function ‘doBitXor’: big.c:1117:44: warning: suggest parentheses around arithmetic in operand of ‘^’ [-Wparentheses] setDig(y, unDig(y) ^ unDig(data(c2)) & ~1); ^ pico.h:156:48: note: in definition of macro ‘setDig’ #define setDig(x,v) (car(numCell(x))=(any)(v)) ^ big.c: In function ‘doRand’: big.c:1224:4: warning: suggest parentheses around assignment used as truth value [-Wparentheses] if (m = evCnt(ex, cddr(ex)) + 1 - n) 3. -Wextra is modern name of -W (oldshool) 4. -Wno-sequence-point for this: In file included from /usr/include/sys/types.h:219:0, from /usr/include/stdlib.h:314, from pico.h:7, from io.c:5: io.c: In function ‘waitFd’: io.c:1435:22: warning: operation on ‘m’ may be undefined [-Wsequence-point] FD_SET(m = fd, &rdSet); ^ Mike
gcc.patch
Description: Binary data