[Bug fortran/30887] New: %VAL construct fails on 64 bit

p dot w dot draper at durham dot ac dot uk gcc-bugzilla@gcc.gnu.org
Tue Feb 20 17:22:00 GMT 2007


The %VAL construct doesn't accept INTEGER types with a size
greater than the default kind. This is essential for supporting
64 bit architectures where an address cannot be stored in 
an integer with the default kind. Consider the simple module:

      SUBROUTINE VALTEST2()
      INTEGER*8 P
      P = 0
      CALL DOIT( %VAL( P ) )
      END

That fails with error report:

> gfortran -c valtest2.f 
valtest2.f:6.22:

      CALL DOIT( %VAL( P ) )                                            
                     1
Error: Kind of by-value argument at (1) is larger than default kind

Increasing the size of the default integer kind would resolve this
problem, but that would have secondary issues (which are not
acceptable in my code, the default integer maps to a defined-size
storage type).


-- 
           Summary: %VAL construct fails on 64 bit
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Severity: critical
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: p dot w dot draper at durham dot ac dot uk
  GCC host triplet: x86_64-unknown-linux-gnu


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



More information about the Gcc-bugs mailing list