[all-commits] [llvm/llvm-project] 635656: [flang] Expunge needless semantics::ProcInterface
Peter Klausler via All-commits
all-commits at lists.llvm.org
Fri Dec 16 10:44:49 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: 635656f4ff1e0b74761af109f50d33287477d1db
https://github.com/llvm/llvm-project/commit/635656f4ff1e0b74761af109f50d33287477d1db
Author: Peter Klausler <pklausler at nvidia.com>
Date: 2022-12-16 (Fri, 16 Dec 2022)
Changed paths:
M flang/include/flang/Evaluate/characteristics.h
M flang/include/flang/Semantics/symbol.h
M flang/include/flang/Semantics/type.h
M flang/lib/Evaluate/call.cpp
M flang/lib/Evaluate/characteristics.cpp
M flang/lib/Evaluate/shape.cpp
M flang/lib/Evaluate/tools.cpp
M flang/lib/Semantics/check-declarations.cpp
M flang/lib/Semantics/mod-file.cpp
M flang/lib/Semantics/resolve-names-utils.cpp
M flang/lib/Semantics/resolve-names.cpp
M flang/lib/Semantics/symbol.cpp
M flang/lib/Semantics/tools.cpp
M flang/lib/Semantics/type.cpp
A flang/test/Semantics/procinterface03.f90
Log Message:
-----------
[flang] Expunge needless semantics::ProcInterface
The ProcInterface structure is used only by ProcEntityDetails; it represents
what a program might have put in parentheses in a procedure-declaration-stmt,
either the name of a procedure interface or a declaration-type-spec.
If a procedure entity has an implicit interface, the function result
type (if any) can be kept in EntityDetails::type_, which already exists
and is currently redundant for ProcEntityDetails symbols.
All that is really needed is a nullable Symbol pointer in ProcEntityDetails
to point to the procedure's explicit interface, when it has one.
Also, catch the case where a procedure has an explicit interface
and a program attempts to also give it a type.
Differential Revision: https://reviews.llvm.org/D140134
More information about the All-commits
mailing list