Dear Dr. Heckenbach,
thanks for your prompt answer. One more information: among my sources there are other such 'pairs' i.e. programs that differ only in the precision 'single' and 'extended', respectively. All those compile OK on my Sun, however.
If this is really a bug in the compiler then I think it should be repaired with certain priority.
Thanks in advance, K. Veselic.
On Wed, 3 May 2000, Frank Heckenbach wrote:
Veselic wrote:
Dear Dr. Gerwinski, dear GPC-ers,
After having installed the new version of gpc all my sources (originally written for Turbo Pascal, hundreds of them) are compiled smoothly, BUT ONE. Here is the story:
System description:
SunOS mph 5.7 Generic_106541-08 sun4u sparc SUNW,Ultra-2
GPC description:
GNU Pascal version 19991030, based on 2.95.2 19991024 (release), compiled Nov 1$ Copyright (C) 1987, 89, 92-97, 1998 Free Software Foundation, Inc.
Here I try compiling:
gpc --borland-pascal -o sj sj.p sj.p: In function `Gjgt_dec_new': sj.p:466: Internal compiler error in `emit_library_call_value', at calls.c:3198 Please submit a full bug report. See URL:http://www.gnu.org/software/gcc/faq.html#bugreport for instructions.
Additional information:
- The corresponding area in the source is:
465 x := sqrt( beta * w ) ; 466 y := 0.5 * alfa / x ; 467 z := 0.5 * gama / x ;
- another source (named ej.p) which differs from sj.p ONLY in having
'extended' whenever sj.p has 'single', COMPILES AND EXECUTES SMOOTHLY.
- On my PC-Linux with the gpc version
GNU Pascal version 19990118, based on gcc-2.8.1, compiled Jul 6 1999 16:08:58. Copyright (C) 1987, 89, 92-97, 1998 Free Software Foundation, Inc.
all sources, including the incriminated sj.p, compile OK.
Yes, that's a known bug, under exactly the circumstances you observed (one operand is Single or Double, and only on Sparc).
I think I found the cause of the bug, and if so, it will be fixed in the next release, but I've yet to test it well.
Frank
-- Frank Heckenbach, frank@g-n-u.de, http://fjf.gnu.de/ GPC To-Do list, latest features, fixed bugs: http://agnes.dida.physik.uni-essen.de/~gnu-pascal/todo.html