[all-commits] [llvm/llvm-project] 3d05ab: [flang] Better error handling and testing of gener...
Peter Klausler via All-commits
all-commits at lists.llvm.org
Mon May 22 12:03:57 PDT 2023
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 3d05ab6d3e24e76ff53b8d7d623c436b4be5b809
https://github.com/llvm/llvm-project/commit/3d05ab6d3e24e76ff53b8d7d623c436b4be5b809
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2023-05-22 (Mon, 22 May 2023)
Changed paths:
M flang/lib/Semantics/resolve-names.cpp
M flang/test/Semantics/resolve17.f90
M flang/test/Semantics/resolve18.f90
A flang/test/Semantics/symbol27.f90
Log Message:
-----------
[flang] Better error handling and testing of generics with homonymous specifics or derived types
Fortran allows a generic procedure interface to have the same name as a derived
type in the same scope or the same name as one of its specific procedures.
(It can't have both since a derived type and specific procedure can't have the
same name in a scope.)
Some popular compilers allow generic interfaces with distinct accessible homonymous
specific procedures to be merged by USE association. Thsi compiler does not,
and for good reason: it leads to ambiguity in cases where a procedure name appears
outside a reference, such as in a PROCEDURE declaration statement as the procedure's
interface, the target of a procedure pointer assignment statement, or as an
actual argument.
This patch cleans up the code that handles these cases, improves some error
messages, and adds more tests.
Resolves https://github.com/llvm/llvm-project/issues/60228.
Differential Revision: https://reviews.llvm.org/D150915
More information about the All-commits
mailing list