llvm-project/flang/lib/Semantics
Jean Perier c2d4d6a1fd [flang] Create HostAssocDetails symbols when needed for mis-parsed ArrayRef
Name resolution is always creating symbols with HostAssocDetails
for host variable names inside internal procedures. This helps lowering
identifying and dealing with such variables inside internal procedures.

However, the case where the variable appears in an ArrayRef mis-parsed
as a FunctionRef goes through a different name resolution path that did
not create such HostAssocDetails when needed. Pointer assignment RHS
are also skipping this path.

Add the logic to create HostAssocDetails for host symbols inisde internal
procedures that appear in mis-parsed ArrayRef or in pointer assignment RHS.

Differential Revision: https://reviews.llvm.org/D105464
2021-07-07 10:07:19 +02:00
..
CMakeLists.txt [flang] Save binding labels as strings 2021-03-24 11:25:23 -07:00
assignment.cpp [flang][nfc] Fix comments, remove needless API, tweak script 2021-01-22 10:55:53 -08:00
assignment.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
attr.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
canonicalize-acc.cpp [flang] Add clang-tidy check for braces around if 2021-06-16 09:13:53 +00:00
canonicalize-acc.h [flang][openacc] Semantic checks for OpenACC 3.0 clauses validity 2020-07-14 20:44:35 -04:00
canonicalize-do.cpp [flang][NFC] Get formatting in sync with latest clang-format 2020-07-01 16:51:46 -07:00
canonicalize-do.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
canonicalize-omp.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
canonicalize-omp.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-acc-structure.cpp [flang] Add clang-tidy check for braces around if 2021-06-16 09:13:53 +00:00
check-acc-structure.h [flang][directive] Enforce basic semantic check for all clauses 2021-02-01 13:33:30 -05:00
check-allocate.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-allocate.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-arithmeticif.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-arithmeticif.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-call.cpp [flang] CheckConformance: tristate-ify result 2021-06-04 11:19:14 -07:00
check-call.h [flang] Document and use intrinsic subroutine argument intents 2020-10-20 14:09:46 +02:00
check-case.cpp [flang] Fix integer CASE constant typing 2020-09-01 10:59:35 -07:00
check-case.h [flang] Semantics for SELECT CASE 2020-03-27 12:02:11 -07:00
check-coarray.cpp [flang] Support for image selectors 2020-07-08 07:31:54 -07:00
check-coarray.h [flang] Support for image selectors 2020-07-08 07:31:54 -07:00
check-data.cpp [flang] Refine checks for pointer initialization targets 2021-03-31 11:32:12 -07:00
check-data.h [flang] Handle DATA initialization of EQUIVALENCE'd objects 2020-08-07 16:39:23 -07:00
check-deallocate.cpp [flang] Save AllocateObject and PointerObject analyzed expression 2021-03-16 10:27:45 +01:00
check-deallocate.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-declarations.cpp [flang] Implement user-defined derived type runtime I/O 2021-06-28 11:36:19 -07:00
check-declarations.h [flang] Improve initializer semantics, esp. for component default values 2020-12-07 14:40:41 -08:00
check-directive-structure.h [flang][OpenMP] Add semantic check for occurrence of constructs nested inside a SIMD region 2021-05-06 15:09:51 -04:00
check-do-forall.cpp [flang] Refine symbol sorting 2021-03-18 11:18:14 -07:00
check-do-forall.h [flang] Fix crash on erroneous expressions 2020-06-05 08:46:43 -07:00
check-if-stmt.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-if-stmt.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-io.cpp [flang] Fix crashes due to failure to find a subprogram 2021-06-03 12:45:43 -07:00
check-io.h [flang] Check that various variables referenced in I/O statements may be defined 2020-08-25 12:06:18 -07:00
check-namelist.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-namelist.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-nullify.cpp [flang] Save AllocateObject and PointerObject analyzed expression 2021-03-16 10:27:45 +01:00
check-nullify.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-omp-structure.cpp [flang][OpenMP] Add semantic checks for occurrence of nested Barrier regions 2021-06-18 16:24:36 -04:00
check-omp-structure.h [flang][OpenMP] Add semantic checks for occurrence of nested Barrier regions 2021-06-18 16:24:36 -04:00
check-purity.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-purity.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-return.cpp [flang][NFC] Add GetTopLevelUnitContaining functions 2020-12-02 10:28:49 -08:00
check-return.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-select-rank.cpp [flang]Semantics for SELECT RANK. 2020-05-08 08:52:31 +05:30
check-select-rank.h [flang]Semantics for SELECT RANK. 2020-05-08 08:52:31 +05:30
check-select-type.cpp [FLANG] Fix issues in SELECT TYPE construct when intrinsic type specification is specified in TYPE GUARD statement. 2020-08-03 09:24:42 +05:30
check-select-type.h [flang] Semantics for SELECT TYPE 2020-06-12 00:12:24 +05:30
check-stop.cpp [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
check-stop.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
compute-offsets.cpp [flang] Refine symbol sorting 2021-03-18 11:18:14 -07:00
compute-offsets.h [flang] Implement STORAGE_SIZE(), SIZEOF(), C_SIZEOF() 2020-12-15 17:26:20 -08:00
data-to-inits.cpp [flang] Implement STORAGE_SIZE(), SIZEOF(), C_SIZEOF() 2020-12-15 17:26:20 -08:00
data-to-inits.h [flang] Handle DATA initialization of EQUIVALENCE'd objects 2020-08-07 16:39:23 -07:00
expression.cpp [flang] Fix generic/specific procedure confusion 2021-06-25 11:54:29 -07:00
mod-file.cpp [flang] Accept & fold IEEE_SELECTED_REAL_KIND 2021-04-10 10:01:14 -07:00
mod-file.h [flang] Semantic analysis for FINAL subroutines 2020-09-30 15:46:15 -07:00
pointer-assignment.cpp [flang] Complain about more cases of calls to insufficiently defined procedures 2021-06-16 18:20:59 -07:00
pointer-assignment.h [flang] DATA stmt processing (part 3/4): Remaining prep work 2020-06-19 09:09:05 -07:00
program-tree.cpp [flang] Parse global compiler directives 2020-08-25 11:41:11 -07:00
program-tree.h [flang] Parse global compiler directives 2020-08-25 11:41:11 -07:00
resolve-directives.cpp [flang] Add clang-tidy check for braces around if 2021-06-16 09:13:53 +00:00
resolve-directives.h [flang][NFC] Extract name resolution for OpenACC & OpenMP into new file 2020-07-28 16:38:36 -07:00
resolve-labels.cpp [flang] Allow labels on END statements. 2020-11-11 13:06:19 -08:00
resolve-labels.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
resolve-names-utils.cpp [flang] Fix creation of deferred shape arrays by POINTER statement 2021-01-20 13:08:11 -08:00
resolve-names-utils.h [flang] Fix creation of deferred shape arrays by POINTER statement 2021-01-20 13:08:11 -08:00
resolve-names.cpp [flang] Create HostAssocDetails symbols when needed for mis-parsed ArrayRef 2021-07-07 10:07:19 +02:00
resolve-names.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
rewrite-parse-tree.cpp [flang] Clean up TODO comments and fix one (DATA constant ambiguity) 2020-12-15 13:36:07 -08:00
rewrite-parse-tree.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
runtime-type-info.cpp [flang] Runtime implementation for default derived type formatted I/O 2021-06-18 10:30:28 -07:00
scope.cpp [flang] Support known constant lengths in DynamicType 2021-06-03 14:25:22 -07:00
semantics.cpp [flang] Order Symbols by source provenance 2021-03-16 15:25:15 -07:00
symbol.cpp [flang] Save binding labels as strings 2021-03-24 11:25:23 -07:00
tools.cpp [flang] Fix generic/specific procedure confusion 2021-06-25 11:54:29 -07:00
type.cpp [flang] Check for undefined derived types 2021-06-04 14:33:52 -07:00
unparse-with-symbols.cpp [flang][openacc] Basic name resolution infrastructure for OpenACC construct 2020-07-26 20:01:35 -04:00