llvm-project/flang/lib/Semantics
Michael Kruse 62afc3129d [flang][msvc] Explicitly reference "this" inside closure. NFC.
The Microsoft compiler seems to have difficulties to decide between a const/non-const method of a captured object context in a closure. The error message is:
```
symbol.cpp(261): error C2668: 'Fortran::semantics::Symbol::detailsIf': ambiguous call to overloaded function
symbol.h(535): note: could be 'const D *Fortran::semantics::Symbol::detailsIf<Fortran::semantics::DerivedTypeDetails>(void) const'
symbol.h(534): note: or       'D *Fortran::semantics::Symbol::detailsIf<Fortran::semantics::DerivedTypeDetails>(void)'
symbol.cpp(261): note: while trying to match the argument list '()'
```
Explicitly using the this-pointer resolves this problem.

This patch is part of the series to make flang compilable with MS Visual Studio <http://lists.llvm.org/pipermail/flang-dev/2020-July/000448.html>.

Reviewed By: DavidTruby

Differential Revision: https://reviews.llvm.org/D88052
2020-09-22 14:22:08 -05:00
..
CMakeLists.txt [flang][directives] Use TableGen information for clause classes in parse-tree 2020-08-11 10:44:14 -04:00
assignment.cpp [flang][NFC] Reformat files with current clang-format 2020-08-07 12:10:26 -07: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][openacc] Add check for tile clause restriction 2020-08-27 22:13:46 -04: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][openacc] Handle optional end directive in combined construct 2020-08-13 14:05:00 -04:00
check-acc-structure.h [flang][directives] Use TableGen information for clause classes in parse-tree 2020-08-11 10:44:14 -04: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] Shape analysis for result of MATMUL 2020-06-22 09:45:30 -07:00
check-call.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07: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] Handle DATA initialization of EQUIVALENCE'd objects 2020-08-07 16:39:23 -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] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07: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] Fix check for distinguishable operators/assignments 2020-09-10 07:22:55 -07:00
check-declarations.h [flang] Check shape conformance on initializers 2020-08-31 16:27:06 -07:00
check-directive-structure.h [flang] Fix compilation warning in check-directive-structure.h 2020-08-05 18:03:41 -07:00
check-do-forall.cpp [flang] DATA stmt processing (part 3/4): Remaining prep work 2020-06-19 09:09:05 -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] Implement nonstandard OPEN statement CARRIAGECONTROL specifier 2020-09-02 13:07:45 -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] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07: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]Add Semantic Checks for OpenMP Allocate Clause 2020-09-09 12:06:21 +01:00
check-omp-structure.h [flang]Add Semantic Checks for OpenMP Allocate Clause 2020-09-09 12:06:21 +01: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] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07: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] Don't attempt to compute element size if no DynamicType 2020-08-24 18:20:24 -07:00
compute-offsets.h [flang] Compute sizes and offsets for symbols 2020-04-23 14:54:34 -07:00
data-to-inits.cpp [flang] Implement shape analysis of TRANSFER intrinsic function result 2020-08-13 09:56:24 -07: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 bug for forward referenced type 2020-09-14 15:15:58 -07:00
mod-file.cpp [flang] Support multiple CookedSource instances 2020-09-02 10:34:23 -07:00
mod-file.h [flang] Use octal escapes for character literals in modfiles 2020-07-13 12:19:18 -07:00
pointer-assignment.cpp [flang] Check shape conformance on initializers 2020-08-31 16:27:06 -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 Semantic Checks for OpenMP Allocate Clause 2020-09-09 12:06:21 +01: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] Format label scope is independent of block scope 2020-08-31 13:34:28 -07: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 check for distinguishable operators/assignments 2020-09-10 07:22:55 -07:00
resolve-names-utils.h [flang] Fix check for distinguishable operators/assignments 2020-09-10 07:22:55 -07:00
resolve-names.cpp [flang] Fix check for distinguishable operators/assignments 2020-09-10 07:22:55 -07: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] DATA stmt processing (part 3/4): Remaining prep work 2020-06-19 09:09:05 -07:00
rewrite-parse-tree.h [flang] Reformat with latest clang-format and .clang-format 2020-03-28 21:00:16 -07:00
scope.cpp [flang] Fix build issue with BUILD_SHARED_LIBS=ON 2020-09-11 16:14:00 +01:00
semantics.cpp [flang] Support multiple CookedSource instances 2020-09-02 10:34:23 -07:00
symbol.cpp [flang][msvc] Explicitly reference "this" inside closure. NFC. 2020-09-22 14:22:08 -05:00
tools.cpp [flang] Fix check for distinguishable operators/assignments 2020-09-10 07:22:55 -07:00
type.cpp [flang] Check shape conformance on initializers 2020-08-31 16:27:06 -07:00
unparse-with-symbols.cpp [flang][openacc] Basic name resolution infrastructure for OpenACC construct 2020-07-26 20:01:35 -04:00