On 16 Nov 2012, at 19:15, Ewald wrote:

> Well, the compiler gives this error:
> `Incompatible types: got 
>     "<address of function(Pointer,QWord,TThreadFunc,Pointer,LongWord,var 
> Pointer):^untyped;Register>" expected
>     "<procedure variable type of 
> function(Pointer,QWord,TThreadFunc,Pointer,LongWord,var 
> TThreadID):^TThreadRec;Register>"
> 
> Rather weird, no? Have I missed something? Or is this due to the fact that I 
> declare my threadmanager record using a typed constant?

In what syntax mode are you compiling? Keep in mind that turning a 
procedure/function into a procvar is different in FPC/ObjFPC and TP/Delphi 
modes (with/out the @).

> No, it's definetly sem_open, the litteral error is:
>     `Error: Identifier not found "sem_open"`
> 
> My uses list contains the exact same units as in CThreads.pp, in the same 
> order, so I don't see why the symbol isn't found. Also, the entire load of 
> $idfdef's are also copied into my source code.

The sem_open declaration is included in cthreads via rtl/darwin/pthread.inc (I 
know it's not actually a pthreads function, but that was the most logical place 
to put it)


Jonas_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to