[all-commits] [llvm/llvm-project] 69e266: [flang] BIND(C, NAME=...) corrections

Peter Klausler via All-commits all-commits at lists.llvm.org
Thu Mar 2 10:10:21 PST 2023


  Branch: refs/heads/main
  Home:   https://github.com/llvm/llvm-project
  Commit: 69e2665c8bcf210d0cb864b86f79747af1432642
      https://github.com/llvm/llvm-project/commit/69e2665c8bcf210d0cb864b86f79747af1432642
  Author: Peter Klausler <pklausler at nvidia.com>
  Date:   2023-03-02 (Thu, 02 Mar 2023)

  Changed paths:
    M flang/include/flang/Semantics/symbol.h
    M flang/lib/Semantics/check-declarations.cpp
    M flang/lib/Semantics/mod-file.cpp
    M flang/lib/Semantics/mod-file.h
    M flang/lib/Semantics/resolve-names.cpp
    M flang/lib/Semantics/symbol.cpp
    M flang/test/Semantics/bind-c04.f90
    M flang/test/Semantics/bind-c05.f90
    M flang/test/Semantics/declarations02.f90
    M flang/test/Semantics/modfile04.f90
    M flang/test/Semantics/modfile21.f90

  Log Message:
  -----------
  [flang] BIND(C,NAME=...) corrections

The Fortran standard's various restrictions on the use of BIND(C)
often depend more on the presence or absence of an explicit NAME=
specification rather than on its value, but semantics and module
file generation aren't making distinctions between explicit NAME=
specifications that happen to match the default name and declarations
that don't have NAME=.  Tweak semantics and module file generation
to conform, and also complain when named BIND(C) attributes are
erroneously applied to entities that can't support them, like
ABSTRACT interfaces.

Differential Revision: https://reviews.llvm.org/D145107




More information about the All-commits mailing list