Programmer’s guide $pointerMath directive affects data type definitions
Original Reporter info from Mantis: kays @KaiBurghardt
-
Reporter name: Kai Burghardt
Original Reporter info from Mantis: kays @KaiBurghardt
- Reporter name: Kai Burghardt
Description:
Incorporate note from
Steps to reproduce:
program pointerArithmetics(input, output, stdErr);
{$pointerMath off}
var
// PByte was defined by system unit
// while {$pointerMath on}
p: PByte;
// Let’s define a “new” PByte:
l: ^Byte;
begin
// everything fine:
p := nil;
p := p + 42;
l := nil;
// This works, too, but I don’t know why exactly:
inc(l);
// But this won’t work:
//l := l + 7;
end.
Mantis conversion info:
- Mantis ID: 37578
- OS: GNU/Linux
- OS Build: 4.2.0
- Build: 3.0.4+dfsg-11 [2017/12/30]
- Platform: x86_64
- Version: 3.0.4
- Fixed in version: 3.3.1
- Fixed in revision: 1732 (#6ae178d3)
- Target version: 3.2.2