[all-commits] [llvm/llvm-project] d4a1db: [flang][msvc] Workaround 'forgotten' symbols in Fo...

Michael Kruse via All-commits all-commits at lists.llvm.org
Wed Sep 30 19:28:52 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: d4a1db4f3fd7ce701454127465dd0ddbdb7face2
      https://github.com/llvm/llvm-project/commit/d4a1db4f3fd7ce701454127465dd0ddbdb7face2
  Author: Michael Kruse <llvm-project at meinersbur.de>
  Date:   2020-09-30 (Wed, 30 Sep 2020)

  Changed paths:
    M flang/lib/Evaluate/fold-implementation.h

  Log Message:
  -----------
  [flang][msvc] Workaround 'forgotten' symbols in FoldOperation. NFC.

This resolves an issue where the Microsoft compiler 'forgets' symbols when using constexpr in a lambda in a templated function. The symbols are:

1. The implicit lambda captures `context` and `convert`. Fix by making them explicit captures. The error message was:
```
fold-implementation.h(1220): error C2065: 'convert': undeclared identifier
```

2. The function template argument FROMCAT. Fix by storing it in a temporary constexpr variable inside the function. The error message was:
```
fold-implementation.h(1216): error C2065: 'FROMCAT': undeclared identifier
```

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: klausler

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




More information about the All-commits mailing list