no way to compare when less than two revisions

Differences

This shows you the differences between two versions of the page.


dsi32-copt [2018/02/16 16:15] (current) – created - external edit 127.0.0.1
Line 1: Line 1:
 +<html><h1>Definicon DSI-32 C compiler options</h1></html>
 +
 +^ Option ^ Function ^
 +| -g | Generate  debug  information and a  frame  pointer  for  stack traces.  The amount and form of debug information varies with the capabilities of the target system. |
 +| -ga | Generate a frame pointer for stack traces. |
 +| -w | Suppress warning diagnostics. |
 +| -p | Generate  calls  for  execution  profiling. Currently supported only on UNIX. |
 +| -O1 | Optimize  the program to be as fast as possible even if          it is necessary to make the program bigger.   This flag often causes confusion among people familiar with  PCC.          Under  PCC,  -O  means  make the  program  smaller  and          faster.   One wonders why this is not the default since          the  -O compile time option only slows down compilation          by 10%.   Under Definicon Systems Pascal the default is          to  perform all of the optimizations performed by  PCC.          The -O option will perform further optimizations  which          may make the program faster but larger.   It is counter          productive  to  specify  -O  on code  which  is  rarely          executed  as it will make the whole program larger  but          no faster.  Therefore, when converting to the Definicon          Systems  compiler remove the -O option  from  makefiles          and command files!   After experimenting with a program          it is possible to discover which modules benefit from -O and which do not. |
 +| -O2 | Allow  the optimizer to assume that memory locations do          not  change except by explicit stores.   That  is,  the          optimizer  is guaranteed that no memory  locations  are          I/O  device  registers that can be changed by  external          ardware and no memory locations are being shared  with          other  processes  which can change them  asynchronously          with respect to the current process.  This compile time          option  must  be used with extreme caution (or  not  at          all)  in  device  drivers,  operating  systems,  shared          memory  environments,  and  when  interrupts  (or  UNIX          signals) are present.|
 +| -R | In  the Motorola assembly code version of  the  MC68000          compiler,   place  explicitly  initialized  data  in  a          separate  section so that it can be placed in ROM.   In          the VAX and NS32000 compilers this compile time  option          is  passed  on to the assembler and it places all  data          into the text section. |
 +| -Istring | Include file names which do not start with "/" are          searched  for  in  the  directory  "string"  before             standard list of directories.   Multiple -I options can          be  specified.   They  will  be searched in  the  order encountered. |
 +| -E | Do not compile the program, instead place the output of the preprocessor on the standard output file. This is useful     for  debugging preprocessor macros. The integrated preprocessor  cannot  generate  output as fast as  the  UNIX     "cpp" program, so use "cpp" for big jobs. |
 +| -C | If  this option is given, comments are output in the preprocessor output. The default is to strip comments from     the output. |
 +| -Dname | Define  "name" to the preprocessor with the  value  1. This is equivalent to putting "#define name 1" at the top of     the source file. |
 +| -Dname=string | Define "name" to the preprocessor with the  value  "string"  This  is  equivalent to  putting  "#define  name     string" at the top of the source file. |
 +| -Uname | Undefine  the predefined preprocessor  symbol  "name"    This  is  equivalent to putting "#undef name" at the top  of      the source file. |
 +| -Xn | Where n is an integer constant.   Turn on option number n.  The options for Pascal are listed below.  There are also  additional options available for  various  target and host systems.  Descriptions of these options can be found in the associated documentation. |
 +| -Zn | Turn off option number n.  This is the reverse of the X option.   This  option  is useful if a version  of  the compiler has some options turned on by default. |
 +| -ge  | DSI-32   Target  environment. Default is Avalon. Equivalent to -X50 -X51 -X52 |
 +| -X6 | Allocate each enum type as the smallest size predefined type     which  allows representation of all listed values (that  is,      from the list:  "char",  "short",  "int",  "unsigned  char",     "unsigned  short",   or  "unsigned").   The  default  is  to      allocate as an "int". |
 +| -X50 | Push the first two arguments on the stack. Default is to  pass  the  first  two  arguments  in  registers  as explained in the Avalon calling convention. |
 +| -X51 | Generate  the  Genix  pseudo-ops. The default is to generate Avalon pseudo-ops, which are compatible with UNIX. |
 +| -X52 | Generate modular software calls: cxp,cxpd,lxpd,...  The default is relocatable calls: bsr,jsr,addr. |
 +| -X55 | Make  fields of type int,  short,  and char be signed.   The     default is for all fields to be unsigned. |
 +| -X56 | Allocate each enum type as the smallest size which allows representation of all listed values (i.e. from the list "char", "short", "int", "unsigned char", "unsigned short" or "unsigned"). The default is to allocate "int"|
 +| -X58 | Do  not put an underscore in front of the names of all global  variables and procedures.  This is  compatible with  the  NSX package from National.   The default is for DSI-32 and Avalon. |
 +| -X60 | Before each multiply to memory instruction add a memory read  instruction for the second operand.   This avoids having a page fault on the second operand,  which  will lock up NS32000 processors made before revision N. |
 +| -X64 | Defines   the   preprocessor  symbols "ns16000" and "ns32000" to be 1.   If this flag is not set, "MC68000" is defined to be 1 |
 +| -X67 | Modifies the generation of common variables.   Intended for cross software support only. |
 +| -X72 | Generates OPUS style pseudo-ops. |
 +| -X74 | Generates System V stabs. |
  
Navigation