GNU CC by itself attempts to be what the ISO/ANSI C standard calls a conforming freestanding implementation. This means all ANSI C language features are available, as well as the contents of `float.h', `limits.h', `stdarg.h', and `stddef.h'. The rest of the C library is supplied by the vendor of the operating system. If that C library doesn't conform to the C standards, then your programs might get warnings (especially when using `-Wall') that you don't expect.
For example, the
sprintf function on SunOS 4.1.3 returns
char * while the C standard says that
sprintf returns an
fixincludes program could make the prototype for
this function match the Standard, but that would be wrong, since the
function will still return
If you need a Standard compliant library, then you need to find one, as
GNU CC does not provide one. The GNU C library (called
has been ported to a number of operating systems, and provides ANSI/ISO,
POSIX, BSD and SystemV compatibility. You could also ask your operating
system vendor if newer libraries are available.