[Bug fortran/38718] New: some simplifiers for elemental intrinsics missing; required for init expressions

dfranke at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sun Jan 4 12:29:00 GMT 2009


The elemental intrinsic functions listed below lack simplifiers to make them
usable in initialization expressions:

  DREAL          (GNU extension)
  ERFC_SCALED    (F2008)
  IS_IOSTAT_END  (F2003)
  IS_IOSTAT_EOR  (F2003)
  ISNAN          (GNU extension)
  LSHIFT         (GNU extension)
  MERGE          (F95)
  RSHIFT         (GNU extension)

Probably only ERFC_SCALED and MERGE are of real significance.

Valid code example that's currently rejected:

$> cat merge.f90
  INTEGER, PARAMETER :: k = selected_real_kind (precision (0.0_8) + 1)
  INTEGER, PARAMETER :: nbytes = MERGE(48, 32, k == 16)
  INTEGER, PARAMETER :: n = nbytes / KIND(n) + 1
END

merge.f90:3.38:

      INTEGER, PARAMETER :: n = nbytes / KIND(n) + 1
                                      1
Error: Function 'nbytes' in initialization expression at (1) must be an
intrinsic or a specification function


-- 
           Summary: some simplifiers for elemental intrinsics missing;
                    required for init expressions
           Product: gcc
           Version: 4.4.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: fortran
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: dfranke at gcc dot gnu dot org
OtherBugsDependingO 29962,32834
             nThis:


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



More information about the Gcc-bugs mailing list