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/38718] New: some simplifiers for elemental intrinsics missing; required for init expressions


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


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