llvm/flang/lib/semantics
Tim Keith e064f4f4b9 [flang] Fix bug in rewriting function reference
`a(i)` is parsed as a function reference and needs to be converted to an
array element reference when `a` is an object entity. That determination
was wrong if the symbol for `a` was a symbol representing host-association
or use-association. In that case we need to get to the original symbol
by calling `GetUltimate()` on the symbol.

This was causing symbol09.f90 to get a compilation error because an
array element reference looked like a call to a non-pure function, which
is prohibited inside a DO CONCURRENT.

Original-commit: flang-compiler/f18@221e6c52c5
Reviewed-on: https://github.com/flang-compiler/f18/pull/216
2018-10-24 13:39:17 -07:00
..
attr.cc [flang] Add top-level Semantics class 2018-09-14 15:04:50 -07:00
attr.h [flang] Add top-level Semantics class 2018-09-14 15:04:50 -07:00
canonicalize-do.cc [flang] add C1120, C1122 and placehokders for C1006, C1121, and C1123 2018-10-24 12:22:42 -07:00
canonicalize-do.h [flang] Handle review comments 2018-09-21 11:12:02 -07:00
check-do-concurrent.cc [flang] Fix conflicts 2018-10-24 12:22:42 -07:00
check-do-concurrent.h [flang] DO CONCURRENT semantic constraints checking 2018-10-24 12:22:42 -07:00
CMakeLists.txt [flang] DO CONCURRENT semantic constraints checking 2018-10-24 12:22:42 -07:00
default-kinds.cc [flang] Add -i8, -r8, &c. options to f18 development driver 2018-10-16 14:42:22 -07:00
default-kinds.h [flang] Add -i8, -r8, &c. options to f18 development driver 2018-10-16 14:42:22 -07:00
dump-parse-tree.h [flang] work on structure components 2018-09-25 15:23:58 -07:00
expression.cc [flang] Rename PushLocation() to SetLocation(). 2018-10-23 14:35:13 -07:00
expression.h [flang] Add FoldingContext to SemanticsContext 2018-10-22 16:41:26 -07:00
mod-file.cc [flang] Refactoring: add SemanticsContext class 2018-10-22 07:37:38 -07:00
mod-file.h [flang] Refactoring: add SemanticsContext class 2018-10-22 07:37:38 -07:00
resolve-labels.cc [flang] Add more constraint checking for DO CONCURRENT. 2018-10-24 12:22:42 -07:00
resolve-labels.h [flang] Add top-level Semantics class 2018-09-14 15:04:50 -07:00
resolve-names.cc [flang] Refactoring: add SemanticsContext class 2018-10-22 07:37:38 -07:00
resolve-names.h [flang] Refactoring: add SemanticsContext class 2018-10-22 07:37:38 -07:00
rewrite-parse-tree.cc [flang] Fix bug in rewriting function reference 2018-10-24 13:39:17 -07:00
rewrite-parse-tree.h [flang] Refactoring: add SemanticsContext class 2018-10-22 07:37:38 -07:00
scope.cc [flang] Add top-level Semantics class 2018-09-14 15:04:50 -07:00
scope.h [flang] Add top-level Semantics class 2018-09-14 15:04:50 -07:00
semantics.cc [flang] Fix conflicts 2018-10-24 12:22:42 -07:00
semantics.h [flang] Add FoldingContext to SemanticsContext 2018-10-22 16:41:26 -07:00
symbol.cc [flang] More name resolution for construct entities 2018-10-18 09:06:11 -07:00
symbol.h [flang] More name resolution for construct entities 2018-10-18 09:06:11 -07:00
type.cc [flang] Eliminating old default type declarations 2018-10-15 17:11:24 -07:00
type.h [flang] Eliminating old default type declarations 2018-10-15 17:11:24 -07:00
unparse-with-symbols.cc [flang] Simplify unparse-with-symbols.cc 2018-10-18 07:56:33 -07:00
unparse-with-symbols.h [flang] Support unparse with symbol annotations. 2018-06-26 15:01:42 -07:00