On Sun, 21 Sep 1997 17:50:53 +0200, Frank Heckenbach wrote:
File Rand.Pas:
[...]
IMPORTANT NOTES:
- This unit is only intended for BP compatibility. While it should be portable (if not, please report)
Okay...
{$IFDEF __DJGPP__}{$DEFINE DOS}{$ENDIF} {$IFDEF __EMX__}{$DEFINE DOS}{$ENDIF}
IMHO, this isn't a good way to do things in a portable unit. Remember that the EMX version of GCC also works under OS/2. Trying to DOS-ish things won't go over well if you only check for __EMX__. Unfortunately, I know of no easy way to test for what operating system EMX is currently using.
{$W-} FUNCTION __DPMI_Simulate_Real_Mode_Interrupt(Vector:Integer;VAR Regs:TDPMIRegs):Integer; C; {$W+}
Does this even work with the DOS version of EMX? It looks like some type of DPMI call but EMX doesn't DPMI without the RSX extender.
Possible bug report: For the heck of it I tried compiling this Unit in OS/2 [gpc 970714]and got:
[C:\kevin\pascal]gpc -c rand.pas gpc: Internal compiler error: program gpc1 got fatal signal 11 (I also get an OS/2 popup with a generic 3171 error -- this "program... can not continue.")
I take it the compiler should reply with some error and not a fatal signal? Or this one of the things that has been fixed in the later betas? I get the error whether or not the $IFDEF __EMX__ line is in the code.
-Kevin -- Kevin A. Foss --- kfoss@mint.net --