This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug fortran/35285] New: Failures in the NIST test suite FM827 with -m64


I noticed today (gcc version 4.4.0 20080221) two failures in FM827 when running
the NIST test suite with -m64. I have reduced the code to:

      PROGRAM FM827

        DOUBLE PRECISION AVD, BVD, CVD, DVD, DVCORR               
      IVPASS = 0
      IVFAIL = 0
      IVDELE = 0
      IVINSP = 0
      IVTOTN = 0
      ICZERO = 0
      I01 = 05
      I02 = 06
      NUVI = I02
CT007*  TEST 7                                           SQRT(X)**2 = X 
           IVTNUM = 7                                                   
        AVD = DSQRT(9.125D0) ** 2 - 9.125D0                             
           IF (AVD + 0.5000000000D-09) 20070, 10070, 40070              
40070      IF (AVD - 0.5000000000D-09) 10070, 10070, 20070              
10070      IVPASS = IVPASS + 1                                          
           WRITE (NUVI, 80002) IVTNUM                                   
           GO TO 0071                                                   
20070      IVFAIL = IVFAIL + 1                                          
           DVCORR = 0.0D+00                                             
           WRITE (NUVI, 80031) IVTNUM, AVD, DVCORR                      
 0071      CONTINUE                                                     
CT008*  TEST 8                                LN(X) = LN(10) * LOG10(X) 
           IVTNUM = 8                                                   
        BVD = 62.5D0 / 1000.0D0                                         
        AVD = DLOG10(BVD) * DLOG(10.0D0) - DLOG(0.0625D0)               
           IF (AVD + 0.5000000000D-09) 20080, 10080, 40080              
40080      IF (AVD - 0.5000000000D-09) 10080, 10080, 20080              
10080      IVPASS = IVPASS + 1                                          
           WRITE (NUVI, 80002) IVTNUM                                   
           GO TO 0081                                                   
20080      IVFAIL = IVFAIL + 1                                          
           DVCORR = 0.0D+00                                             
           WRITE (NUVI, 80031) IVTNUM, AVD, DVCORR                      
 0081      CONTINUE
CT009*  TEST 9                                    COSH**2 - SINH**2 = 1 
           IVTNUM = 9                                                   
        BVD = 0.125D0                                                   
        CVD = DSINH(2.125D0)                                            
        DVD = DCOSH(2.0D0 + BVD)                                        
        AVD = DVD  ** 2 - CVD ** 2 - DCOSH(0.0D0)                       
           IF (AVD + 0.5000000000D-09) 20090, 10090, 40090              
40090      IF (AVD - 0.5000000000D-09) 10090, 10090, 20090              
10090      IVPASS = IVPASS + 1                                          
           WRITE (NUVI, 80002) IVTNUM                                   
           GO TO 0091                                                   
20090      IVFAIL = IVFAIL + 1                                          
           DVCORR = 0.0D+00                                             
           WRITE (NUVI, 80031) IVTNUM, AVD, DVCORR                      
 0091      CONTINUE                                                     
CT010*  TEST 10                             TANH(X) = 1 - 2/(EXP(2X)+1) 
           IVTNUM = 10                                                  
        BVD = 5.0D0
        CVD = 2.0D0
        DVD = DLOG10(BVD * CVD) - DSQRT(4.0D0) /                        
     1  (DEXP(2.0D0 * (BVD - CVD)) + DCOS(0.0D0))                       
        AVD = DVD - DTANH(3.0D0)                                        
           IF (AVD + 0.5000000000D-09) 20100, 10100, 40100              
40100      IF (AVD - 0.5000000000D-09) 10100, 10100, 20100              
10100      IVPASS = IVPASS + 1                                          
           WRITE (NUVI, 80002) IVTNUM                                   
           GO TO 0101                                                   
20100      IVFAIL = IVFAIL + 1                                          
           DVCORR = 0.0D+00                                             
           WRITE (NUVI, 80031) IVTNUM, AVD, DVCORR                      
 0101      CONTINUE
80002 FORMAT (" ",2X,I3,4X," PASS  ",32X,A31)                           
80031 FORMAT (" ",2X,I3,4X," FAIL  ",/," ",16X,"COMPUTED= " ,           
     1D17.10,/," ",16X,"CORRECT=  " ,D17.10)                            
      STOP
      END

for which the executable gives:

     7     PASS  
     8     FAIL  
                 COMPUTED=  0.2772588722D+01
                 CORRECT=   0.0000000000D+00
     9     PASS  
    10     FAIL  
                 COMPUTED= -0.1000000000D+01
                 CORRECT=   0.0000000000D+00

I have tried to reduce the code further, but I cannot keep at the same time the
logic of the code and the failures. I don't get any failure on PPC. When the
tests fail, DLOG10(BVD)=0.0D0.

I am pretty sure to have run the NIST test suite with -m64 without error when
Jerry DeLisle proposed his first patch for PR35036 three weeks ago, now it
fails even with 4.2.3 and all the old gfortran I have tried. So I don't
understand what's happening. I don't know if this related, but in the last
weeks I have updated mpfr to 2.3.1 (from 2.3.0) and Darwin to 9.2 (from 9.1).


-- 
           Summary: Failures in the NIST test suite FM827 with -m64
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dominiq at lps dot ens dot fr
 GCC build triplet: i686-apple-darwin9
  GCC host triplet: i686-apple-darwin9
GCC target triplet: i686-apple-darwin9


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35285


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]