The current (trunk) documentation is better.
As Thaddy mentioned the
trunk documentation for
Mode Delphi does mention that
integer is CPU independent -
"Inversely, it means that system.integer is always 16-bit.". Note that the online documentation is specific to FPC 3.0.4. Anyone
So taking this testing a bit further; below the size of integer for all modes that can compile a simple AVR test (tested on FPC 3.3.1 from 2019/11/08):
| Mode | Sizeof(integer) | Sizeof(NativeInt) |
| FPC | 2 | 2 |
| Delphi | 2 | 2 |
| DelphiUniUnicode | 2 | 2 |
| TP | 2 | 2 |
| ObjFPC | 2 | 2 |
| ISO | 4 | 2 |
This implies that the current documentation for
Ordinal Types - Integer. Item 1 below table 3.2, is incorrect:
"Every platform has a ”native” integer size, depending on whether the platform is 8-bit, 16-bit, 32-bit or 64-bit. e.g. On AVR this is 8-bit". This hasn't been updated in
trunk documentation.