llvm-project/flang/lib/Evaluate
Peter Klausler 46c49e66d8 [flang] Extend characterization & checking for procedure bindings
Procedure bindings with explicit interfaces don't work when the
interface is shadowed by a generic interface of the same name,
and can produce spurious semantic error messages.  Extend the
characterization and checking code for such things, and the utility
functionns on which they depend, to dig through generics when they
occlude interface-defining subprograms.  This is done on demand in
checking code, not once during name resolution, because the
procedures in question may also be forward-referenced.

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

diff --git a/flang/include/flang/Semantics/symbol.h b/flang/include/flang/Semantics/symbol.h
index e79f8ab6503e..0b03bf06eb73 100644
--- a/flang/include/flang/Semantics/symbol.h
2022-08-09 12:01:45 -07:00
..
CMakeLists.txt [flang] Establish a single source of target information for semantics 2022-07-06 10:25:34 -07:00
call.cpp [flang] Allow pure function references in expandable scalar 2022-08-07 09:12:46 -07:00
character.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
characteristics.cpp [flang] Extend characterization & checking for procedure bindings 2022-08-09 12:01:45 -07:00
check-expression.cpp [flang] Don't discard lower bounds of implicit-shape named constants 2022-06-03 22:45:12 -07:00
common.cpp [flang] Fix wording of warning message 2022-06-23 11:15:35 -07:00
complex.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
constant.cpp [flang] Fix UBOUND() folding for constant arrays 2022-04-28 01:17:47 +09:00
expression.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
fold-character.cpp [flang] Fold TRANSFER() 2022-07-13 15:34:48 -07:00
fold-complex.cpp [flang] Fold TRANSFER() 2022-07-13 15:34:48 -07:00
fold-designator.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
fold-implementation.h [flang] Don't fold zero-length substring references 2022-07-23 10:08:09 -07:00
fold-integer.cpp [flang] Fold calls to ISHFTC() 2022-07-22 18:21:57 -07:00
fold-logical.cpp Bitwise comparison intrinsics 2022-07-19 16:41:04 +00:00
fold-real.cpp [flang] Fold SET_EXPONENT() and FRACTION() 2022-07-22 15:44:54 -07:00
fold-reduction.cpp [flang] Clarify CheckReductionDIM() 2022-08-09 05:51:45 -07:00
fold-reduction.h [flang] Clarify CheckReductionDIM() 2022-08-09 05:51:45 -07:00
fold.cpp [flang] Fold TRANSFER() 2022-07-13 15:34:48 -07:00
formatting.cpp [flang] Add & use a better visit() (take 2) 2022-04-16 16:00:48 -07:00
host.cpp [flang] Establish a single source of target information for semantics 2022-07-06 10:25:34 -07:00
host.h [flang] Fix/work around warnings from GCC 11 2022-02-01 11:54:04 -08:00
initial-image.cpp [flang] Correct folding of TRANSFER(integer, character array) 2022-07-22 17:28:08 -07:00
int-power.h [flang] Establish a single source of target information for semantics 2022-07-06 10:25:34 -07:00
integer.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
intrinsics-library.cpp [flang] Establish a single source of target information for semantics 2022-07-06 10:25:34 -07:00
intrinsics.cpp [flang] Intrinsic RANDOM_SEED calls with dynamically absent/present arguments 2022-08-09 09:08:55 -07:00
logical.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
real.cpp [flang] Handle subnormals while folding SCALE, SET_EXPONENT, & FRACTION 2022-08-07 16:12:14 -07:00
shape.cpp [flang] Error detection/avoidance for TRANSFER with empty MOLD= type 2022-07-13 16:50:57 -07:00
static-data.cpp [flang] Establish a single source of target information for semantics 2022-07-06 10:25:34 -07:00
target.cpp [flang] Establish a single source of target information for semantics 2022-07-06 10:25:34 -07:00
tools.cpp [flang] Don't inherit ELEMENTAL attribute from intrinsics for TBP bindings 2022-08-09 08:09:32 -07:00
type.cpp [flang] Establish a single source of target information for semantics 2022-07-06 10:25:34 -07:00
variable.cpp [flang] Fix folding of LEN(f(...)) 2022-06-29 10:25:07 -07:00