Re: GPC compiler bug: functional parameter invocation
Régis Cridlig <cridlig <at> gmail.com>
2008-04-04 21:10:25 GMT
Thank you, I succeeded in installing the latest cygwin build:
gpc-20070904.i686-pc-cygwin.tar.gz
This is the compiler version:
$ gpc -v
Reading specs from /usr/lib/gcc/i686-pc-cygwin/3.4.4/specs
Configured with: ../configure --enable-languages=pascal --enable-threads=posix -
-with-system-zlib --enable-nls --without-included-gettext --enable-interpreter -
-disable-sjlj-exceptions --enable-shared --build=i686-pc-cygwin --host=i686-pc-c
ygwin --target=i686-pc-cygwin --enable-haifa --prefix=/usr : (reconfigured) ../c
onfigure --enable-languages=pascal --enable-threads=posix --with-system-zlib --e
nable-nls --without-included-gettext --enable-interpreter --disable-sjlj-excepti
ons --enable-shared --build=i686-pc-cygwin --host=i686-pc-cygwin --target=i686-p
c-cygwin --enable-haifa --prefix=/usr
Thread model: posix
gpc version 20070904, based on gcc-3.4.4
This is the compilation and execution:
$ gpc crashes.p -Wall -g -o crashes.exe
$ gdb crashes.exe
GNU gdb 6.5.50.20060706-cvs (cygwin-special)
Copyright (C) 2006 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i686-pc-cygwin"...
(gdb) run
Starting program: /cygdrive/c/Documents and Settings/regis.cridlig/My
Documents/Info/Pascal/crashes.exe
Loaded symbols for /cygdrive/c/WINDOWS/system32/ntdll.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/kernel32.dll
Loaded symbols for /usr/bin/cygwin1.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/advapi32.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/rpcrt4.dll
Loaded symbols for /cygdrive/c/WINDOWS/system32/secur32.dll
Program received signal SIGSEGV, Segmentation fault.
0x0022cc20 in ?? ()
(gdb) bt
#0 0x0022cc20 in ?? ()
#1 0x004010a9 in _p__M0_S1_Q (J=200, A= <at> 0x22cc20) at crashes.p:16
#2 0x004010c6 in _p__M0_S1_Q (J=100, A= <at> 0x401050) at crashes.p:16
#3 0x004010e2 in _p__M0_main_program () at crashes.p:20
#4 0x0040115b in main (argc=1, argv=0x6927a0, envp=0x690090)
at <implicit code>:22
(gdb)
The program source:
$ cat crashes.p
program Crashes(input,output);
function B(l:integer):boolean;
begin
B:=true;
end;
procedure Q(j:integer;function A(l:integer):boolean);
function E(l:integer):boolean;
begin
E := false
end;
begin
if A(j) then
Q(200,E);
end;
begin
Q(100,B);
end.
What is going wrong?
-- Regis
2008/4/4, Prof A Olowofoyeku (The African Chief) <chiefsoft <at> bigfoot.com>:
> > On 3 Apr 2008 at 14:25, Régis Cridlig wrote:
> >
> > > What is the latest stable release of gpc?
> >
> > http://www.math.uni.wroc.pl/~hebisch/gpc/gpc-20070904.tar.bz2
>
>
> You can get Cygwin binaries here:
> http://gnu-pascal.de/contrib/chief/win32/cygwin/
>
>
> Best regards, The Chief
> --------
> Prof. Abimbola A. Olowofoyeku (The African Chief)
> web: http://www.greatchief.plus.com/
>
>
>