Paul Ishenin wrote
Several of them are 2.3.1, so it's normal that they are not yet in the documentation.
The functions are:
- BitSizeOf
It's similar to sizeof, except that it returns the size in bits of the type when it is used in a bitpacked record or array.
- get_frame
It returns a pointer to the current routine's stack frame, and at the same time makes sure that the compiler does not optimize the stack frame of the current routine away.
- Pack
- ReadStr
- Unpack
- WriteStr
These come straight from ISO (Standard or Extended) Pascal and behave exactly as described in the standards:
* Pack, Unpack: http://www.moorecad.com/standardpascal/iso7185.html#6.6.5.4%20Transfer%20procedures
* ReadStr, WriteStr: section 6.7.5.5 of http://www.moorecad.com/standardpascal/iso10206.pdf (p. 86 of the pdf)
- Unaligned
Make the compiler assume that the argument is an unaligned memory location (it takes a "var" parameter, i.e., not a pointer but what the pointer points to), and hence that the compiler should use load instructions that are safe in such a situation on CPUs that require this (such as ARM and SPARC).
Jonas