[fpc-pascal]1st post

Marcel Martin mm10 at ellipsa.net
Wed Jun 16 22:36:14 CEST 2004


Thanks for the quick answers.

Peter Vreman a écrit :
> > 2) " end [ {$IFNDEF REGCALL} 'eax','ecx', {$ENDIF} 'edi']; "
> > Is the previous line meaningful? (See the routine below)
> No, FPC 1.9.x follows standard calling conventions. The changed registers
> are fixed. This information is not used for assembler procedures. But for
> assembler blocks within a procedure the information is used.

With "standard calling conventions", do you mean I have to write 
code like with Delphi (push/pop ebx,edi,esi)? Yesterday, I spent all 
day long to remove all these push/pop :-)
Should I also write push/pop for eax,ecx,edx when REGCALL is not 
> > 3) When P is a PUI32 (PUI32 = ^Longword), I use Inc(P,Count) to
> > increment P by Count (Count > 1). It compiles fine but there is the
> > message "Conversion between ordinals and pointers are not not
> > portable". What does it mean? Portable towards what? (I am compiling
> > with {$MODE OBJFPC})
> That is a bug, please submit it to the bug repository. The message means
> that you are loading a pointer to an ordinal (=integer). This can lead to
> problems when compiling for 64bit platforms like x86-64 (that is already
> working and going to be supported in 1.9.6).

I will do that.
> > 4) "Internal error 200310221". Let's say I have one program (set as
> > primary file) and one unit. The only way to compile (and to build)
> > both of them is to activate the unit window and to "build" from
> > there. In all other cases, "compile" and "build" stop with this
> > internal error. I suppose I didn't correctly configure something (?)
> > (Windows 98, AMD 2600+)
> That is a bug. Without sources we are not able to analyse and fix the
> problem. Try to minize the problem (guess that will be hard) and send me
> the sources so i can reproduce it.

Unfortunately, I am not able to reproduce it myself! Now that I use
a lot of units, it almost no more occurs. In fact, today it occurred 
only once not when using the mouse but when hitting Ctrl-F9.


More information about the fpc-pascal mailing list