This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/34837] gfortran crashes and asks for bug report
- From: "skinner at milkyway dot gsfc dot nasa dot gov" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 18 Jan 2008 00:49:22 -0000
- Subject: [Bug fortran/34837] gfortran crashes and asks for bug report
- References: <bug-34837-15656@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #2 from skinner at milkyway dot gsfc dot nasa dot gov 2008-01-18 00:49 -------
Subject: Re: gfortran crashes and asks for bug report
burnus at gcc dot gnu dot org wrote:
> ------- Comment #1 from burnus at gcc dot gnu dot org 2008-01-17 22:45 -------
> Thanks for the bug report; however, I fail to reproduce the bug with either of
> 4.1.3, 4.2.2 and 4.3.0 on x86-64-linux.
>
> Your version "4.2.0 (experimental)" is relatively old. (Even 4.1.3 might
> contain a bug fix, which was not in yet in 4.2.0.)
>
> Can you try with a newer version, for instance the one available from
> http://gcc.gnu.org/wiki/GFortranBinaries ?
>
> * * *
>
> The newest gfortran versions also have the following warning by default:
>
> weights = rate_err**-2.0
> 1
> Warning: Extension: Unary operator following arithmetic operator (use
> parentheses) at (1)
>
> This is not only invalid Fortran but also not always well defined. What does
> the following mean: "a**-b*c" Does mean "a**(-b) * c" or "a**(-b*c)" -
> different compilers make different choices here. (In your case the choice is
> unambiguous but still not standard conform.)
>
>
>
Thanks for the v quick response
I have installed
gcc version 4.3.0 20071231 (experimental) [trunk revision 131236] (GCC)
and the error goes away. I can turn it on and off by switching between
the two, though it is not conclusive that the problem has been solved
because it appeared to depend in some complex way on how the program
was arranged, as if it was an overwriting/ buffer-overflow/memory leak
sort of problem. So its disappearance could be a chance of how memory is
allocated.
Anyway my objective was to keep you informed - I had already found a
fudge which allowed me to get the results I needed from the quick and
dirty program.
Incidentally the new version does indeed warn about **-2.0 . I agree
it is bad practice but without looking carefully at the rules I am not
sure that it is ungrammatical. -2.0 is after all a constant, so the
expression is of the form [variable] [operator] [constant]
Gerry
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34837