All pastes #905470 Raw Edit

fpc untyped

public text v1 · immutable
·published 2008-02-15 20:10 UTC
rendered paste body
// {$mode objfpc}

uses sysutils, cthreads;

const threadcount = 100;
      stringlen = 10000;

var finished : longint;
    i : longint;
    threadvar thri : longint;

function f(p : pointer) : longint;
var s : ansistring;
begin
//writeln('thread ', longint(p) , ' started');
writeln('thread ', ptrint(p) , ' started');
thri := 0;
while (thri < stringlen) do
  begin
  s := s + '1';
  inc(thri);
  end;
//writeln('thread ', longint(p), ' finished');
writeln('thread ', ptrint(p), ' finished');
//InterLockedIncrement(finished);
interlockedincrement(finished);
f := 0;
end;

begin
finished := 0;
for i := 1 to threadcount do BeginThread(@f, pointer(i));     <-- line 33
while finished < threadcount do;
writeln(finished);
end.

------------

t.pas(33,46) Error: Illegal type conversion: "LongInt" to "^untyped"
t.pas(38) Fatal: There were 1 errors compiling module, stopping
t.pas(38) Fatal: Compilation aborted
Error: /usr/local/bin/ppcx64 returned an error exitcode (normal if you did not specify a source file to be compiled)