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

           Summary: SELECTED_REAL_KIND is returning KIND=16 when not
                    available
           Product: gcc
           Version: 4.5.2
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: brtn...@hdfgroup.org


Testing for the REAL KIND available the program:

PROGRAM test_kind

  IMPLICIT NONE
  INTEGER :: i, j, ii, ir, last, rkind_numbers(10)
  INTEGER :: jr, jd

  last = -1
  ir = 0
  DO i = 1,100
     j = SELECTED_REAL_KIND(i)
     PRINT*,i,j
     IF(j .NE. last) THEN
        IF(last .NE. -1) THEN
           ir = ir + 1
           rkind_numbers(ir) = last
        ENDIF
        last = j
        IF(j .EQ. -1) EXIT
     ENDIF
  ENDDO
  PRINT*,'KINDS SUPPORTED = ', rkind_numbers(1:ir)
END PROGRAM test_kind

returns KIND=4,8,10,16

but KIND=16 is not supported when using the same compiler on the same machine:

REAL(KIND=16) :: x
            1
Error: Kind 16 not supported for type REAL at (1)

This happens for:
Linux 2.6.18-194.3.1.el5PAE #1 SMP i686 i686 i386 GNU/Linux (gcc 4.5.2, 4.4.5,
4.3.5, *4.2.4 does not return KIND=16 )

Linux 2.6.18-194.32.1.el5 #1 SMP x86_64 x86_64 x86_64 GNU/Linux  (gcc 4.5.2)

FreeBSD  8.2-PRERELEASE FreeBSD 8.2-PRERELEASE #0 amd64 (gcc 4.5.2)

Does not happen (KIND!=16) for:
Version 4.5.1 on Suse 11.4 Linux 2.6.37.1-1.2-desktop #1 SMP PREEMPT x86_64
x86_64 x86_64 GNU/Linux

Reply via email to