mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-04-16 18:19:32 +02:00
122 lines
2.9 KiB
Plaintext
122 lines
2.9 KiB
Plaintext
******************************************************************************
|
|
>>> 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
|