On 11 Feb 2010, at 18:17, Rainer Stratmann wrote:

In the past with the turbopascal compiler and other always sizeof byte was
added.

That is not true. This program prints "2" when compiled under Turbo Pascal:

{$t-}

type
  pw = ^word;
var
  w: pw;
begin
  w:=nil;
  inc(w);
  writeln(longint(w));
end.

(and the result does not depend on {$t+} or {$t-}; that only influences whether e.g. @wordvar has the type "^word" or plain "pointer").

Furthermore, Turbo Pascal did not support performing pointer arithmetic using anything else but inc() and dec() (so things like "ppp := ppp + http.header_anz" or "w:=w+1" would not compile under TP), except for pchar variables (in which case the base value is sizeof(char), since that's what a pchar points to).


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to