Pascal Compiler Bug

Tue, 18 Mar 1997 11:09:49 -0800 (PST)


---2139045425-758783491-858712189=:13474
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

Please Read This Text File :-(






_____________________________________________________________________
Sent by RocketMail. Get your free e-mail at http://www.rocketmail.com

---2139045425-758783491-858712189=:13474
Content-Type: text/plain; name="Bug.txt"
Content-Description: Bug.txt
Content-Disposition: inline; filename="Bug.txt"

The following code, especially the Arrays, causes GPC1.EXE to page fault. I
think this is a bug of the compiler because if I comment them out the 
compiler runs (complaining about invalid reference to Colours, Cmds, etc.)

Type
   TComStr = String(8);
   TColStr = String(12);

Const
   NumCmds : Byte = 12;

Var
   Colours : Array[0..15] Of TColStr Value (0 :'BLACK';
                                            1 :'BLUE';
                                            2 :'GREEN';
                                            3 :'CYAN';
                                            4 :'RED';
                                            5 :'MAGENTA';
                                            6 :'BROWN';
                                            7 :'LIGHTGREY';
                                            8 :'DARKGREY';
                                            9 :'LIGHTBLUE';
                                            10:'LIGHTGREEN';
                                            11:'LIGHTCYAN';
                                            12:'LIGHTRED';
                                            13:'LIGHTMAGENTA';
                                            14:'YELLOW';
                                            15:'WHITE');

   Cmds    : Array[1..12] Of TComStr Value (1 :'@POS(';
                                            2 :'@COLOUR(';
                                            3 :'@CLS';
                                            4 :'@WAIT(';
                                            5 :'@CURSON';
                                            6 :'@CURSOFF';
                                            7 :'@FILE(';
                                            8 :'@LOAD(';
                                            9 :'@SAVE(';
                                            10:'@FILL(';
                                            11:'@SLEEP(';
                                            12:'@SOUND(');

Stack trace:

Exiting due to signal SIGSEGV
Page fault at eip=0003bdbd, error=0004
eax=00000112 ebx=00191ecc ecx=0018db3c edx=00191e38 esi=00182dd4 edi=00000006
ebp=00182cf8 esp=00182cec program=c:/utils/djgpp/bin\gpc1.exe
cs: sel=0127  base=100d0000  limit=001cffff
ds: sel=012f  base=100d0000  limit=001cffff
es: sel=012f  base=100d0000  limit=001cffff
fs: sel=010f  base=000165b0  limit=0000ffff
gs: sel=013f  base=00000000  limit=ffffffff
ss: sel=012f  base=100d0000  limit=001cffff

Call frame traceback EIPs:
  0x0003bdbd
  0x0003bdee
  0x0001b2a4
  0x0006fdfa
  0x000721e9
  0x0011818e

Please respond to Gareth_Wilson@RocketMail.Com.

---2139045425-758783491-858712189=:13474--


Gareth Wilson (gareth_wilson@rocketmail.com)

HTML conversion by Lluís de Yzaguirre i Maura
Institut de Lingüística Aplicada - Universitat "Pompeu Fabra"
e-mail: de_yza@upf.es