|
@@ -1,121 +1 @@
|
|
|
-******************************************************************************
|
|
|
->>> Tips for adding things to the compiler
|
|
|
-******************************************************************************
|
|
|
-
|
|
|
- - Assigned should be used instead of checking for nil directly, as
|
|
|
- it can help solving pointer problems when in real mode.
|
|
|
-
|
|
|
-
|
|
|
- - All compiler files should be saved in UNIX format
|
|
|
-
|
|
|
- - Try to omit Tabs, or else use a tabsize of 8
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-******************************************************************************
|
|
|
->>> Compiler Defines
|
|
|
-******************************************************************************
|
|
|
-
|
|
|
-Include compiler Parts
|
|
|
--------------------------
|
|
|
-$define GDB include GDB stab debugging (-g) support
|
|
|
-$define UseBrowser include Browser (-b) support
|
|
|
-
|
|
|
-
|
|
|
-Leave Out specific Parts
|
|
|
--------------------------
|
|
|
-$define NoOpt will leave out the optimizer
|
|
|
-
|
|
|
-** i386 only **
|
|
|
- $define NoAg386Int No intel (masm/tasm) writer
|
|
|
- $define NoAg386Nsm No nasm writer
|
|
|
- $define NoAg386Att No att (gas) writer
|
|
|
-
|
|
|
- $define NoRA386Int No intel asm parser
|
|
|
- $define NoRA386Att No att asm parser
|
|
|
- $define NoRA386Dir No direct asm parser
|
|
|
-
|
|
|
-** m68k only: **
|
|
|
- $define NoAg68kGas No gas asm writer
|
|
|
- $define NoAg68kMit No mit asm writer
|
|
|
- $define NoAg68kMot No mot asm writer
|
|
|
-
|
|
|
- $define NoRA68kMot No Motorola parser
|
|
|
-
|
|
|
-
|
|
|
-******************************************************************************
|
|
|
->>> Location of the codegenerator functions
|
|
|
-******************************************************************************
|
|
|
-
|
|
|
-The names are given for the i386, for the m68k rename the 386 to 68k
|
|
|
-
|
|
|
-cg386con - Constant generation
|
|
|
- - secondordconst
|
|
|
- - secondrealconst
|
|
|
- - secondstringconst
|
|
|
- - secondfixconst
|
|
|
- - secondsetconst
|
|
|
- - secondniln
|
|
|
-
|
|
|
-cg386mat - Mathematic functions
|
|
|
- - secondmoddiv
|
|
|
- - secondshlshr
|
|
|
- - secondumminus
|
|
|
- - secondnot
|
|
|
-
|
|
|
-cg386cnv - Type conversion functions
|
|
|
- - secondtypeconv
|
|
|
- - secondis
|
|
|
- - secondas
|
|
|
-
|
|
|
-cg386add - Add/concat functions
|
|
|
- - secondadd
|
|
|
-
|
|
|
-cg386mem - Memory functions
|
|
|
- - secondvecn
|
|
|
- - secondaddr
|
|
|
- - seconddoubleaddr
|
|
|
- - secondsimplenewdispose
|
|
|
- - secondhnewn
|
|
|
- - secondhdisposen
|
|
|
- - secondselfn
|
|
|
- - secondwith
|
|
|
- - secondloadvmt
|
|
|
- - secondsubscriptn
|
|
|
- - secondderef
|
|
|
-
|
|
|
-cg386flw - Flow functions
|
|
|
- - secondifn
|
|
|
- - second_while_repeatn
|
|
|
- - secondfor
|
|
|
- - secondcontinuen
|
|
|
- - secondbreakn
|
|
|
- - secondexitn
|
|
|
- - secondlabel
|
|
|
- - secondgoto
|
|
|
- - secondtryfinally
|
|
|
- - secondtryexcept
|
|
|
- - secondraise
|
|
|
- - secondfail
|
|
|
-
|
|
|
-cg386ld - Load/Store functions
|
|
|
- - secondload
|
|
|
- - secondassignment
|
|
|
- - secondfuncret
|
|
|
-
|
|
|
-cg386set - Set functions
|
|
|
- - secondcase
|
|
|
- - secondin
|
|
|
-
|
|
|
-cg386cal - Call/inline functions
|
|
|
- - secondparacall
|
|
|
- - secondcall
|
|
|
- - secondprocinline
|
|
|
- - secondinline
|
|
|
-
|
|
|
-cgi386 - Main secondpass handling
|
|
|
- - secondnothing
|
|
|
- - seconderror
|
|
|
- - secondasm
|
|
|
- - secondblockn
|
|
|
- - secondstatement
|
|
|
+All stuff of this document is moved to docs\internal.tex.
|