FAQ

Q. Is the lcc source repository available?
A. Yes; a git repository is hosted at http://github.com/drh/lcc. The command

git clone git clone git://github.com/drh/lcc.git

clones the repository in the directory lcc.  

Q. Is the lcc source tree available in a Subversion repository?
A. No; the old Subversion repository hosted at drh.svnrepository.com was migrated to the Git repository above in Dec. 2010.

Q. Is the lcc source tree available via anonymous CVS?
A. Yes, but the CVS repository is now frozen in favor of the Git repository described above. The CVS repository is hosted at cvs.cs.princeton.edu. The command

cvs -d :ext:anon-lcc@cvs.cs.princeton.edu:/cvs co -d lcc .

creates the directory lcc and populates it from the source tree. This command is equivalent to the commands

mkdir lcc
cd lcc
cvs -d :ext:anon-lcc@cvs.cs.princeton.edu:/cvs co .

Hit return if you're prompted for a password, and ignore diagnostics about missing home directories. Visit http://cvs.cs.princeton.edu for more information about the Princeton CVS server.

Q. What backends come with lcc?
A. The distribution includes code generators for the ALPHA (DEC OSF/1), SPARC (Solaris), MIPS R3000 (SGI Irix), and X86 (Windows 95/98/NT and Linux).

Q. What happened to the SunOS (SPARC) and DEC Ultrix (MIPS) backends for lcc 4.1?
A. These backends are still supported and are included in the distribution, but the test baselines (sparc/sun/tst and mips/ultrix/tst) and the driver support files (etc/sun.c and etc/ultrix.c) are not included in the 4.1 distribution, because we no longer have access to these systems. You can use the 4.0 driver support files with 4.1.

Q. Is there a version of the X86 backend for Linux?
A. Yes; version 4.1 of lcc supports the X86 running Linux; it's been tested on both RedHat 5.1 and Slackware 3.4. Be warned: lcc version 4.1 uses a different, but similar code generation interface (PDF 256K) than the one described in the book and used in lcc version 3.x.

Q. Does lcc support the long long type?
A. Yes, lcc 4.1 supports long long, but all of its backends currently use the same representation for long and long long, i.e., 32 bits on 32-bit targets and 64 bits on 64-bit targets.

Q. What about licensing lcc or parts of it for commercial use?
A. See the copyright notice. Per-copy and unlimited use licenses are available; for more information, contact

Kim Boedigheimer
Addison Wesley
75 Arlington St., Suite 300
Boston, MA 02116
617/848-6559 kim.boedigheimer@pearsoned.com

Q. How to I report a bug?
A. See Reporting Bugs in the installation guide.

Q. Is there a list of typos in the first and second printings of the book?
A. Yes; see the errata for the first and second printings.

Q. Has anyone reviewed A Retargetable C Compiler?
A. Yes; here is a review that was posted to comp.compilers on 4/28/95.

Q. Is there any documentation on those parts of lcc that are not covered in A Retargetable C Compiler: Design and Implementation?
A. Yes, sort of; see the additional documentation WWW page.


Chris Fraser · David Hanson