Bug 34398

Summary: BOZ literals: Range checks
Product: gcc Reporter: Tobias Burnus <burnus>
Component: fortranAssignee: Not yet assigned to anyone <unassigned>
Status: RESOLVED FIXED    
Severity: normal CC: gcc-bugs
Priority: P3 Keywords: diagnostic
Version: 4.3.0   
Target Milestone: ---   
Host: Target:
Build: Known to work:
Known to fail: Last reconfirmed:

Description Tobias Burnus 2007-12-08 22:50:13 UTC
With the changes for BOZ literals (cf. also PR 34392), some range checks got disabled.

Example:
  DOUBLE PRECISION inf
  DATA inf / Z'7FF0000000000000' /
Comment 1 Tobias Burnus 2007-12-14 15:11:32 UTC
Subject: Bug 34398

Author: burnus
Date: Fri Dec 14 15:11:17 2007
New Revision: 130932

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=130932
Log:
2007-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34398
        * expr.c (gfc_check_assign): Add range checks for assignments of
        * BOZs.
        * resolve.c (resolve_ordinary_assign): Ditto.
        * arith.c (gfc_range_check): Fix return value for complex
        * numbers.

2007-12-14  Tobias Burnus  <burnus@net-b.de>

        PR fortran/34398
        * gfortran.dg/nan_4.f90: New.


Added:
    trunk/gcc/testsuite/gfortran.dg/nan_4.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/arith.c
    trunk/gcc/fortran/expr.c
    trunk/gcc/fortran/resolve.c
    trunk/gcc/testsuite/ChangeLog

Comment 2 Tobias Burnus 2007-12-14 15:15:49 UTC
FIXED on the trunk (4.3.0).