According to Frank Heckenbach:
Until a (more optimized) version of them will be built in, here are some replacements (a bit slower, but should be portable and generate no warnings): [...]
Pointer arithmetics is portable and can be used here to speed it up: Procedure FillChar ( Var Dest: Void; Count: Integer; C: Char ); Var DestArray: tCharArray absolute Dest; z: ^Char; begin (* FillChar *) for z:= @DestArray [ 0 ] to @DestArray [ Count - 1 ] do z^:= C; end (* FillChar *); (Similar for `move'.) BTW, pointer arithmetics ... should GPC allow constructions like (*$X+*) Var p, q: ^Char; p:= q + 42; or only p:= succ ( q, 42 ); ? Personally, I would prefer to allow only the second (Pointer being an ordinal type) and to consider the first (Pointer + Integer) an error, but it's technically easier to allow both, so I ask before I remove a bug somebody might consider a feature. ;-) Greetings, Peter Dipl.-Phys. Peter Gerwinski, Essen, Germany, free physicist and programmer peter.gerwinski@uni-essen.de - http://home.pages.de/~peter.gerwinski/ [971005] maintainer GNU Pascal [971001] - http://home.pages.de/~gnu-pascal/ [971005]