[all-commits] [llvm/llvm-project] ae0d1d: [flang] Fix bogus message on internal subprogram w...
Pete Steinfeld via All-commits
all-commits at lists.llvm.org
Fri Jan 8 10:14:51 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: ae0d1d2e5cd3a99da0b2eefc27c8f94b95f03cc6
https://github.com/llvm/llvm-project/commit/ae0d1d2e5cd3a99da0b2eefc27c8f94b95f03cc6
Author: Peter Steinfeld <psteinfeld at nvidia.com>
Date: 2021-01-08 (Fri, 08 Jan 2021)
Changed paths:
M flang/include/flang/Common/Fortran.h
M flang/include/flang/Evaluate/call.h
M flang/include/flang/Parser/parse-tree.h
M flang/lib/Evaluate/call.cpp
M flang/lib/Evaluate/formatting.cpp
M flang/lib/Semantics/check-call.cpp
M flang/lib/Semantics/expression.cpp
A flang/test/Semantics/altreturn06.f90
Log Message:
-----------
[flang] Fix bogus message on internal subprogram with alternate return
Internal subprograms have explicit interfaces. If an internal subprogram has
an alternate return, we check its explicit interface. But we were not
putting the label values of alternate returns into the actual argument.
I fixed this by changing the definition of actual arguments to be able
to contain a common::Label and putting the label for an alternate return
into the actual argument.
I also verified that we were already doing all of the semantic checking
required for alternate returns and removed a "TODO" for this.
I also added the test altreturn06.f90.
Differential Revision: https://reviews.llvm.org/D94017
More information about the All-commits
mailing list