This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/33285] integer too big compile error in gfortran
- From: "kargl at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 3 Sep 2007 03:58:01 -0000
- Subject: [Bug fortran/33285] integer too big compile error in gfortran
- References: <bug-33285-15053@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #6 from kargl at gcc dot gnu dot org 2007-09-03 03:58 -------
(In reply to comment #3)
> (In reply to comment #1)
>> This is assuming that an asymmetric range is permitted in Fortran which
>> I think
>> it is not. You can use -fno-range-check to disable this check.
>>
>
> In the IBM XL Fortran 90 manual:
> pg 19
> I quote: for Integer Kind parameter 4 range of value "-2147483648 through to
> 2147483647"
> namely -(2^31) to (2^31 -1)
The IBM XL manual isn't the Fortran standard.
> Compiling this using gcc-gfortran-4.1.X and gcc-g77-3.X
> works
It was a bug in older versions of gfortran.
>
> It is a Fortran standard!
>
The Fortran 95 standard doesn't specify the values that an integer
can take. It does specify the model numbers for integer. There is
a difference!
In "i = - 2147483648", the RHS is an expression. It is a unary minus
operator with the operand 2147483648, which is greater than 2^31-1.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33285