zcc(1) C Compiler for Z8000 zcc(1) NAME zcc - C compiler SYNOPSIS zcc [ option ] ... file ... DESCRIPTION zcc is a fast optimizing C compiler. Its interface is nearly completely compatible with most UNIX C compilers though there are substantial differences in internal strategy. The language supported is that of the Kernighan and Ritchie book referenced below with the addition of field initialization and structure assignment. zcc is capable of operating in several modes. It can generate code for both the Z8001 (segmented) and the Z8002 (non- segmented) versions of the Z8000. See the -m option for de- tails. zcc accepts several types of arguments: Arguments whose names end with `.c' are taken to be C source programs; they are com- piled, and each object program is left on the file whose name is that of the source with `.o' substituted for `.c'. Under CP/M, only one C source file may be compiled per execution of zcc. The following options are interpreted by zcc: -c Suppress the loading phase of the compilation, and force an object file to be produced even if only one program is compiled. -m This is used to set the mode of the compiler. The digit is interpreted in the following way: 0 - Z8001, 16 bit ints, 32 bit pointers, x.out output 1 - Z8002, 16 bit ints, 16 bit pointers, x.out output (default) 2 - Z8002, 16 bit ints, 32 bit pointers, x.out output -w Suppress most of the warning messages in the compiler. This turns off stringent type checking that is now fashionable. -s Compile the named C programs, and leave pseudo-assembly language output on corresponding files suffixed `.s'. As cc8k generates binary load modules directly without an intermediate assembly language representation, this option produces a disassembly listing of the generated - 1 - zcc(1) C Compiler for Z8000 zcc(1) code. -o output Name the final output file _o_u_t_p_u_t. If this op- tion is used the file `x.out' will be left undisturbed. -d name=def -d name Define the _n_a_m_e to the preprocessor, as if by `#define'. If no definition is given, the name is defined as 1. -u name Remove any initial definition of _n_a_m_e. -[0123]string Pass _s_t_r_i_n_g as debug flags to subsequent passes of the compiler. Flags for pass one begin with the digit `1'; flags for pass two with `2', and so forth. The digit `0' is used for debug flags to the _z_c_c control program itself. Flags for multiple passes may be concatenated. FILES file.c input file file.o object file p2file compiler temporary (transient) treefile compiler temporary (transient) p3file compiler temporary (transient) zcc.z8k compiler command interpeter zcc[123].z8k compiler executable files SEE ALSO B. W. Kernighan and D. M. Ritchie, _T_h_e _C _P_r_o_g_r_a_m_m_i_n_g _L_a_n_g_u_a_g_e, Prentice-Hall, 1978 D. M. Ritchie, C Reference Manual ld8k(1), asz8k(1), ar8k(1) DIAGNOSTICS The diagnostics produced by C itself are intended to be self-explanatory. BUGS No support for unsigned types other than short integers. - 2 -