SDS 68K C++ COMPILER -- BASIC AND ADVANCED OPTIONS

CrossCode C Compiler for 68xxx from Software Development Systems, Inc.

Help information can be obtained by typing the DOS command

cc68000 -U


Basic options of the SDS68K C++ compiler

usage: cc68000 [options] [file.c ...]

WARNING:- The SDS compiler only generates an object file. This happens automatically without the -c option required to perform this task on most other compilers. HOWEVER, using the option -c with the SDS compiler actually will cause a FATAL ERROR. This inconsistency has been reported.


Recommended options for the SDS 68K C++ compiler

The recommended options for the SDS compiler for use in the exercises in the LABORATORY COMPANION are as follows. Click on the option for more details.

cc68000 -V 68020 -f -Odegu -o object=example.o,list= example.c


SDS help information

This information was obtained by typing

cc68000 -U

environment variables:
    AS68000     additional assembler options and arguments
    CC68000     additional compiler options and arguments
    INC         list of standard include directories
    TMP         directory for temporary files

options:
    -a astext         insert astext in each file for the assembler
    -b                may help when a single function>32Kbytes of code
    -d                log only definitions in cross-references
    -e                disable extensions like asm() statements

    -f                full symbol and type information to object file
    -h                like '-f', but keep names on statement symbols
    -i                suppress informative messages
    -j                jumps/calls position independent (some chips only)
    -l                enable lint-like portability checking
    -m                retain comments out of preprocessor
    -n                suppress most code generation; retain symbols

    -o outfile        specify output file names; arguments can be
                      a comma separated list of any or all of:
                        pre=[file]       preprocessor output
                        source=[file]    assembly source file
                        object=[file]    binary object file
                        list=[file]      assembly listing file
                        [+]pxref=file    preprocessor cross-ref (+ to append)
                        [+]xref=file     compiler cross-ref     (+ to append)
                        file             default output file (option-dependent)
    -p                force assembler to use its preprocessor
    -r reg[=sym]      reserve global registers (e.g. -r a5 -r d7=this)
    -s type=bytesz    define bytes in a basic type (e.g. -s int=2)
    -t tabsz          tabs are every 'tabsz' columns (default 8)
    -u                reverse the signedness of the plain char type
    -v                (superceded by -Os)
    -w                suppress warning messages (not recommended)
    -x                compiler cross reference (subject to change)
    -y                like '-f' but suppresses statement symbols
    -z identsize      limit identifiers' significant characters
    -A arg ... --     assembler gets arguments up to -- or end of args
    -C                just print copyright message and release number
    -D name[=def]     define 'name' to preprocessor
    -E [+]file        emit errors to a file; use + to append
    -F file           take more options and arguments from a file
    -G cctext         text to compile as if it began each source file
    -I dir            append 'dir' to preprocessor include path
    -J                like -j but 'const' data also pc-relative
    -K [+]num,...     kill/promote informative messages with specified numbers
                        optional leading '+' promotes message to error
    -L region=name    rename compiler 'region' to 'name'
    -M mem_config     memory configuration options; these may be
                      a comma separated list of any or all of:
                        disk=[yes|no]    do you wish to swap to disk?
                        max_memory=n     use at most 'n' bytes of memory
                                         'n' may have suffix of 'K' or 'M'
                        scale_minimum=p  scale minimum memory by 'p'
                                         'p' must be a power of 2
    -N                no code generation, no object file

    -O letters        control optimizations associated with each letter
                        in the argument. Lower case turns them off and
                        upper case turns them on. All optimizations are
                        on by default. The current optimizations are:
                         A  allocate registers based on frequency
                         B  perform branch optimization
                         C  put frequent constants in registers
                         D  called functions cleanup
                         E  dead-code elimination
                         G  frame pointer elimination
                         H  local common subexpression elimination
                         I  allow inline functions (C++ only)
                         J  allow recursive function unwinding
                         L  perform lifetime analysis
                         M  merge common tails
                         P  enable delayed stack cleanup
                         R  enable automatic register allocation
                         S  optimize for size (vs optimize for speed)
                         T  volatile variables must be declared volatile
                         U  remove unreachable code
                         V  loop invariant hoisting
                         Y  enable aggressive switch algorithms
    -P                stop after preprocessing
    -Q                quicker compilation (obsolete)
    -S                stop before assembling
    -T keyword=value  Set miscellaneous compiler options
                        -T C++    to enable C++
                        -T C++=no to disable C++
                        -T deadinfo to turn on messages about dead code
                        -T inline_info to turn on messages about inline functions
                        -T pc_data to turn on pc-relative data
                            (some chips only)
                        -T asm_nolife to turn off lifetime analysis
                            when asm() is used.
                        -T loops=n to set loop weighting
                        -T invar=n to set invariant capacity
                        -T objects=n to set maximum number of objects to track
                        -T mul4=n sets threshold on 4-byte constant multiplies
                        -T mul2=n sets threshold on 2-byte constant multiplies
                        -T have_c++ to test for C++ capability
                        -T funcnops to emit NOPs at the end of a function
                        -T functags to tag function entry and exit points
                        -T numnops=n to specify number of NOPs for funcnops
                        -T hp64000 to tag function return and exit points
    -U                just print usage message

    -V target         what version (for alternate instruction sets)
    -W                retain white space out of preprocessor
    -X                preprocessor cross reference (subject to change)
    -Y                don't retain any preprocessor line or file information
    -Z                avoid use of some instruction forms for the benefit
                        of memory mapped I/O ports.  (For 68000 family
                        affects use of CLR,BCHG,BCLR,BSET,BTST e.g.)
    -@                list all preprocessor include directories to 'stdout'
    -=                print all preprocessor expression results in info msgs
    -#                included text appears in asm src and cross refs
    -_                do not keep underscores on symbols in object file


Last modified: July 13, 1996 06:08 AM by M. Smith. Copyright -- M. R. Smith