hummel@m.cs.uiuc.edu (08/06/89)
Release notes for PDC 3.30.2: Bug list -------- - PDC cannot correctly take the address of function parameters that are of type char or short. You can circumvent this bug by assigning the paramter to a dummy variable and taking the address of that. You might consider declaring the dummy variable as 'static', particularly if you want the address to be valid after returning from the function, just beware of multiple invocations. - The arithmetic assignment and (++/--) operators do not function correctly for floating-point values. - PDC cannot generate correct code for addressing automatic variables beyond 32K into the stack frame. Name and copyright clarifications --------------------------------- While PDC is an acronym for "Publicly Distributable C", it has been frequently equated with "Public Domain C", which this software distribution emphatically IS NOT. Rather, the distribution (which includes a compiler, assembler, linker, librarian, and numerous utilities, documentation files, libraries, and header files) is as a whole freely distributable. Many pieces of PDC belong to the public domain and are expressly labeled so. Others are copyrighted and have messages from the authors describing their terms of distribution. Development history ------------------- The Fish disks have included a number of compilers and assemblers. These have had many bugs and not usable by the uninitiated C-programmer. These various bits and pieces are collectively referred to as PDC release 1. Fish disk #110 gathered together Charlie Gibb's assembler and Jeff Lydiatt's port of PDC. It was usable by those who understand about compilers, but generally limited in application because floats and an integrated preprocessor were missing. Fish disk 110 is what we refer to as PDC release 2. Paul then took PDC and added these two crucial missing features and fixed many bugs. This provided a more robust implementation for the experienced programmer. The first release of Paul's work was PDC release 3.1 which I distributed at AmiExpo/Midwest in July '88. PDC release 3.2 was a repackaging and maintenance release which did not see extensive distribution. About PDC release 3.3 --------------------- This release presents a programming environment that is even more robust and easier to use than before. This is not to say that PDC is ready to be considered commercial-grade, rather that it is now accessible to programmers at every experience level. Here is a list of features for the PDC Software Distribution release 3.3: - PDC Compiler: - ANSI conformant (minus bit fields, trigraphs and a few other items of similar importance). Support includes the following: - All ANSI preprocessor directives - Function prototyping - Structure passing and assignment - IEEE floating point - Supports Lattice-compatible libcall #pragmas, plus a #pragma switch to specify CPU or library based 32-bit integer math. - Can generate and use pre-compiled header files. - Allows inline code generation for __BUILTIN_ functions. - Can be compiled and run under UNIX (SunOS), generating DBX debugging info. - General distribution containing executables, header files, libraries, sample files, and documentation on a single disk, plus two disks of source code. - Many additional tools and utilities - A68k version 2.42 - CCX compiler frontend (UNIX cc clone) - BLink version 6.7 - DECUS Make utility - Bind utility for generating stub-routines - Libr object module librarian - Source included: - Latest version of the PDC Compiler. - Latest release of Charlie Gibb's A68k assembler. - PDC Libraries and miscellaneous utility programs. - Presents a straightforward baseline for Amiga programming, and usable as a "turnkey" compiler for source code distributions. Directions for future work -------------------------- - Better code generation. - Direct generation of object code. - Amiga debugging support. - Integration with editors that support AReXX. - Programmer AReXX support. - A linker to replace BLink. - IFF-based object format and resource editor. Lionel D. Hummel 1 August 1989