mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-04 21:47:29 +01:00
93 lines
1.6 KiB
Plaintext
93 lines
1.6 KiB
Plaintext
Compiler Writer's Guide
|
|
-----------------------
|
|
Here are a few tips for changing things in 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
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
cg386add - Add/concat functions
|
|
- secondadd
|
|
|
|
|
|
cg386mem - Memory functions
|
|
- secondvecn
|
|
- secondaddr
|
|
- seconddoubleaddr
|
|
- secondsimplenewdispose
|
|
- secondhnewn
|
|
- secondhdisposen
|
|
- secondselfn
|
|
- secondwith
|
|
- secondloadvmt
|
|
- secondsubscriptn
|
|
- secondderef
|
|
- secondis
|
|
- secondas
|
|
|
|
|
|
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,
|
|
|