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

Attachment: gcc.patch
Description: Binary data

Reply via email to