Skip to content

Interface specs interfering with intrinsic tag identification #249

Open
@ccotter

Description

@ccotter
      subroutine intrinsics_misidentified
          interface
            subroutine calc(len, max)
              implicit none
              integer*4 len
              integer*4 max
            end
          end interface

          character*10 c10
          integer*4 i,j
          i = len(c10) ! (ValVariable "len")
          i = max(i,j) ! (ValVariable "max")
      end

      subroutine intrinsics_correctly_identified
          character*10 c10
          integer*4 i,j
          i = len(c10) ! (ValIntrinsic "len")
          i = max(i,j) ! (ValIntrinsic "max")
      end

Passing this program through fortran-src -v f77l -a parse intrinsics_bug.f incorrectly classifies the function call names len and max as ValVariables instead of ValIntrinsics. It looks like the interface spec's parameter names are confusing the parser.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions