Hi again,
Why do I get this: *********************************** Reading specs from c:/utils/gpc/lib/specs gpc driver version 980420(2.80) executing gpc version 2.8.0 c:/utils/gpc/bin/gpc-cpp.exe -lang-pascal -v -nocharescape -undef -D__GNUC__=2 -D__GPC__=2 -D__GNUC_MINOR__=8 -Dunix -Di386 -DGO32 -DMSDOS -DDJGPP=2 -D__unix__ -D__i386__ -D__GO32__ -D__MSDOS__ -D__DJGPP__=2 -D__unix -D__i386 -D__GO32 -D__ MSDOS -D__DJGPP=2 -Asystem(unix) -Asystem(msdos) -Acpu(i386) -Amachine(i386) -D_ _BITS_LITTLE_ENDIAN__=1 -D__BYTES_LITTLE_ENDIAN__=1 -D__WORDS_LITTLE_ENDIAN__=1 -Di386 -Asystem(unix) -Acpu(i386) -Amachine(i386) -D__i386__ -Asystem(unix) -Acp u(i386) -Amachine(i386) mandel1.pas c:/utils/gpc/tmp/ccbaaaaa GNU CPP version 980420(2.80) (80386, BSD syntax) #include "..." search starts here: #include <...> search starts here: c:/utils/gpc/include c:/utils/gpc/lang/pascal c:/utils/gpc/contrib/grx22/include /usr/local/include JDIR/djgpp/include JDIR/lib/gcc-lib/djgpp/2.80/include $DJDIR/include End of search list. c:/utils/gpc/bin/gpc1.exe c:/utils/gpc/tmp/ccbaaaaa -quiet -dumpbase mandel1.pa s -version -famtmpfile=mandel1.gpc -fautomake=-v -o c:/utils/gpc/tmp/cccaaaaa GNU Pascal version 980420(2.80) (djgpp) compiled by GNU C version 2.8.0. Exiting due to signal SIGSEGV Page fault at eip=00122752, error=0004 eax=003c500c ebx=00394620 ecx=00000000 edx=00084421 esi=003d8ca0 edi=003dabac ebp=0035f5f4 esp=0035f5ec program=c:/utils/gpc/bin/gpc1.exe cs: sel=0117 base=838a8000 limit=ff6b6fff ds: sel=011f base=838a8000 limit=ff6b6fff es: sel=011f base=838a8000 limit=ff6b6fff fs: sel=00ef base=00035580 limit=0000ffff gs: sel=012f base=00000000 limit=ffffffff ss: sel=011f base=838a8000 limit=ff6b6fff
Call frame traceback EIPs: 0x00122752 0x0011e0a2 0x00120600 0x0011f8fd 0x0011f928 0x0011f933 0x0011f933 0x0011f933 0x0011f933 0x0011f933 0x0011f933 *********************************** While trying to compile this: ********MANDEL1.PAS************* Program Mandelbrot; Uses grx20;
Procedure Genera; var z, c : complex; x, y : integer; n : integer; pre, pim : real; begin for x:=1 to 640 do for y:=1 to 480 do begin pre := (4/640)*x - 2; pim := (4/480)*y - 2; z := cmplx (pre, pim); c := z; n := 0; repeat z:=(z pow 2) + c; inc(n); until ((n=255) or (abs(z)>4)); GRplot(x, y, n); end; end;
var x, y, xv, yv, c, m : integer;
begin
x := 640; y := 480; xv := 640; yv := 640; c := 256;
M := GrSetMode(GR_width_height_color_graphics,x,y,c,xv,yv);
genera; end. ********************************* Using: ********************************* gpc -v --automake=-v mandel1.pas
I'm running GPC under DJGPP in a DOS box under windows 95.
Thanks, Ariel. --- Ariel Bendersky bender@einstein.com.ar
According to Bendersky:
Why do I get this: [...] Exiting due to signal SIGSEGV Page fault at eip=00122752, error=0004 [...] While trying to compile this: ********MANDEL1.PAS************* Program Mandelbrot; Uses grx20; [...]
This *might* be another instance of the stack problem. (Of course, I cannot reproduce it here.)-:
To check it out, comment out (*$if 0 *) ... (*$endif *) parts of your `grx20.pas' you do not need at the moment. This reduces the amount of stack space needed to load the GPI file.
Also try the `-dY' option to check out where in your source the error occurs, and `-dy' to check out which rule of the parser was being applied.
Thanks for your cooperation,
Peter