Nils Weller's C compiler

introduction

nwcc is a simple C compiler for Unix systems targeting a variety of architectures. Full source code is freely available under the (revised) BSD license.

It works with Linux/Mac OS X/FreeBSD/OpenBSD/NetBSD/Solaris on 80x86, Linux/Mac OS X/FreeBSD/OpenBSD on AMD64, Solaris/Linux on SPARC, AIX/Linux on PowerPC, and IRIX on MIPS hardware. Apart from full C89 support, nwcc also provides many C99 and GNU C features, and can be used as a drop-in replacement for gcc in many cases. Cross-compilation and PIC code for shared libraries are also supported, albeit incompletely.

nwcc has been known to compile many small and medium sized open-source applications correctly - such as bash, xterm, vim, wget, gxemul, lynx, lsof, strace, zsh, GNU less/tar/make and others - but the degree of code correctness varies between supported platforms, and large applications still tend to expose bugs (at some point, nwcc was capable of compiling some versions of gcc, Apache, PHP and PostgreSQL correctly on x86 systems.)

Development priorities have traditionally favored language feature support, portability and compatibility. As a result, nwcc is completely lacking in optimization and support for debugging or profiling, and still suffers from code correctness problems - particularly on RISC platforms (see the bugs for details).

As of 2014, various ideas are being reviewed to take the project into new directions.

nwcc © Nils Weller 2003 - 2014 Valid XHTML 1.0 Strict SourceForge Logo