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



Tobias Burnus <burnus at gcc dot gnu.org> changed:



           What    |Removed                     |Added

----------------------------------------------------------------------------

                 CC|                            |burnus at gcc dot gnu.org



--- Comment #1 from Tobias Burnus <burnus at gcc dot gnu.org> 2012-12-10 
08:57:04 UTC ---

Can you pin-point which version causes the regression?



BIT_SIZE(m) is (correctly) 64 while "ma" is (wrongly) "0". And "NOT returns the

bitwise Boolean inverse of I."



Can you run the following code? It matches the failing code but contains some

debugging printout.



Can you also try "kind=4"? That seems to work while "kind=8" seems to fail.



      integer(kind=8) m, ma

      ma = 0

      m = 0

      print '("m =",i21,z17," ma=",i2,z13)', m, m, ma, ma

      m = not(m)

      print '("m =",i21,z17," ma=",i2,z13)', m, m, ma, ma

      do while ( (m.ne.0) .and. (ma.lt.127) )

         ma = ma + 1

         m = ishft(m,-1)

         print '("m =",i21,z17,", ma=",i2,z13)', m, m, ma, ma

      end do

      print *, BIT_SIZE(m), ma

      if (BIT_SIZE(m) /= ma) error stop

      end

Reply via email to