gen: don't let o_cast() change dereferenced type
[neatcc.git] / README
blobbd5f1eb0f666ee5981508d3875e418b933a219af
1 NEATCC
2 ======
4 neatcc is a simple x86 C compiler.  I wrote it to complete my
5 development toolchain (see http://litcave.berlios.de/):
7 * cc:   git://repo.or.cz/neatcc.git
8 * libc: git://repo.or.cz/neatlibc.git
9 * ld:   git://repo.or.cz/ld.git
10 * gdb:  http://litcave.berlios.de/coredump.tar.gz
11         http://litcave.berlios.de/elfloc.tar.gz
13 neatcc supports a large subset of C language but lacks some of the
14 features that I didn't use much myself.  The most important missing
15 features are probably floating point and long long types.
17 USAGE
18 =====
20 neatcc has been tested with neatlibc and dietlibc.  It can compile
21 itself and neat* toolchain.  I use this script to run neatcc:
23 # !/bin/sh
24 NEAT="/path/to/neatlibc"
25 CC="/path/to/neatcc/ncc"
26 LD="/path/to/ld/ld"
28 # these can be ignored
29 CPPFLAGS="-Dconst= -Dfloat=long -Ddouble=long -D__restrict__= -D__attribute__(x)= -D__extension__= -D__builtin_va_list=long -Dinline= -Dregister= -Dvolatile="
31 for x in $*
33         if [ x$x == "x-c" ]
34         then
35                 exec ${CC} ${CPPFLAGS} -I${NEAT} $*
36         fi
37 done
39 exec ${LD} $* ${NEAT}/start.o ${NEAT}/libc.a