We have a prototype implementation of a tool to do memory
checking. It works by keeping track of the typestate of each
byte of memory in the heap and the stack. The typestate can be
one of Undefined, Uninitialized, Free or Set. The program can
detect invalid transitions (i.e. attempting to set or use
undefined or free storage or attempting to access uninitialized
storage). In addition, the program keeps track of heap
management through malloc and free and at the end of the run
will report all memory blocks that were not freed and that are
not accessible (i.e. memory leaks).
The tools works using a spliced-in shared library.

A C++ class library developed at Texas Instruments. Cool
contains a set of containers like Vectors, List, Hash_Table,
etc. It uses a shallow hierarchy with no common base class.
The funtionality is close to Common Lisp data structures (like
libg++). The template syntax is very close to Cfront3.x and
g++2.x. Can build shared libraries on Suns. JCOOL's main
difference from COOL and GECOOL is that it uses real C++
templates instead of a similar syntax that is preprocessed by
a special 'cpp' distributed with COOL and GECOOL.

The Data Display Debugger (DDD) is a common graphical user
interface to GDB, DBX, and XDB, the popular UNIX debuggers.
Besides ``usual'' features such as viewing source texts and
breakpoints, DDD provides a graphical data display, where data
structures are displayed as graphs. A simple mouse click
dereferences pointers or reveals structure contents, updated
each time the program stops. Using DDD, you can reason about
your application by viewing its data, not just by viewing it
execute lines of source code.

A very high quality, very portable compiler for C, C++,
Objective-C. The compiler is designed to support multiple
front-ends and multiple back-ends by translating first
into RTL (Register Transfer Language) and from there into
assembly for the target architecture. Front ends for
C (gcc), C++ (g++), Objective C, Fortran, Java (GCJ), and Ada (GNAT)
are all under active development.

Lilly is a C++ class library which gives C++ programmers the
capability to write LISP-style code. Lily's garbage collection
mechanism is not sufficient for commercial use. The
documentation is incomplete.

TenDRA is an implementation of TDF, which was adopted
by the Open Group, where it is called ANDF. Its core is
a binary format, TDF, which can be architecture-neutral or
architecture-specific, and which can be conveniently
manipulated.

Conformance:

They claim, very conformant. The package includes
implementation-independent descriptions of the ISO C API,
POSIX, XPG3 and other APIs.

There are many sites which mirror the master gnu archives
which live on prep.ai.mit.edu. Please do not use
the master archive without good reason.

Restriction:

Most GNU programs are CopyLeft'ed. That means that they
are distributed under the terms of the GNU General
Public License or GNU Library General Public License.
The CopyLeft is only a concern if you want to use
actual GNU code in your program. Using Gcc or any of
the other tools is completely safe from a copyright
point-of-view with the sole exception of bison which
includes GNU code in its output. If you use a GNU
library, you must supply an unlinked version of your
program.