[flang-commits] [flang] [flang][OpenMP] Implement iterator that flattens BLOCK constructs (PR #180981)

via flang-commits flang-commits at lists.llvm.org
Wed Feb 11 10:19:59 PST 2026


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Windows-->
# :window: Windows x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>[code=1] tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/parse-tree.cpp.obj</summary>

```
FAILED: [code=1] tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/parse-tree.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DFLANG_INCLUDE_TESTS=1 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\flang\lib\Parser -IC:\_work\llvm-project\llvm-project\flang\lib\Parser -IC:\_work\llvm-project\llvm-project\flang\include -Itools\flang\include -Iinclude -IC:\_work\llvm-project\llvm-project\llvm\include -imsvc C:\_work\llvm-project\llvm-project\flang\..\mlir\include -imsvc tools\mlir\include -imsvc tools\clang\include -imsvc C:\_work\llvm-project\llvm-project\llvm\..\clang\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported /O2 /Ob2  -MD -UNDEBUG /EHs-c- /GR- -std:c++17 /showIncludes /Fotools\flang\lib\Parser\CMakeFiles\FortranParser.dir\parse-tree.cpp.obj /Fdtools\flang\lib\Parser\CMakeFiles\FortranParser.dir\FortranParser.pdb -c -- C:\_work\llvm-project\llvm-project\flang\lib\Parser\parse-tree.cpp
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\parse-tree.cpp:13:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(373,12): error: no member named 'Unwrap' in namespace 'Fortran::parser'; did you mean 'llvm::unwrap'?
373 |     return parser::Unwrap<parser::OpenMPLoopConstruct>(c) != nullptr ||
|            ^~~~~~~~~~~~~~
|            llvm::unwrap
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: 'llvm::unwrap' declared here
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\parse-tree.cpp:13:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(373,20): error: 'unwrap' does not name a template but is followed by template arguments
373 |     return parser::Unwrap<parser::OpenMPLoopConstruct>(c) != nullptr ||
|                    ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: non-template declaration found by name lookup
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\parse-tree.cpp:13:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(374,9): error: no member named 'Unwrap' in namespace 'Fortran::parser'; did you mean 'llvm::unwrap'?
374 |         parser::Unwrap<parser::DoConstruct>(c) != nullptr;
|         ^~~~~~~~~~~~~~
|         llvm::unwrap
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: 'llvm::unwrap' declared here
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\parse-tree.cpp:13:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(374,17): error: 'unwrap' does not name a template but is followed by template arguments
374 |         parser::Unwrap<parser::DoConstruct>(c) != nullptr;
|                 ^     ~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: non-template declaration found by name lookup
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
4 errors generated.
```
</details>
<details>
<summary>[code=1] tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/openmp-utils.cpp.obj</summary>

```
FAILED: [code=1] tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/openmp-utils.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DFLANG_INCLUDE_TESTS=1 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\flang\lib\Parser -IC:\_work\llvm-project\llvm-project\flang\lib\Parser -IC:\_work\llvm-project\llvm-project\flang\include -Itools\flang\include -Iinclude -IC:\_work\llvm-project\llvm-project\llvm\include -imsvc C:\_work\llvm-project\llvm-project\flang\..\mlir\include -imsvc tools\mlir\include -imsvc tools\clang\include -imsvc C:\_work\llvm-project\llvm-project\llvm\..\clang\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported /O2 /Ob2  -MD -UNDEBUG /EHs-c- /GR- -std:c++17 /showIncludes /Fotools\flang\lib\Parser\CMakeFiles\FortranParser.dir\openmp-utils.cpp.obj /Fdtools\flang\lib\Parser\CMakeFiles\FortranParser.dir\FortranParser.pdb -c -- C:\_work\llvm-project\llvm-project\flang\lib\Parser\openmp-utils.cpp
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\openmp-utils.cpp:13:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(373,12): error: no member named 'Unwrap' in namespace 'Fortran::parser'; did you mean 'llvm::unwrap'?
373 |     return parser::Unwrap<parser::OpenMPLoopConstruct>(c) != nullptr ||
|            ^~~~~~~~~~~~~~
|            llvm::unwrap
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: 'llvm::unwrap' declared here
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\openmp-utils.cpp:13:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(373,20): error: 'unwrap' does not name a template but is followed by template arguments
373 |     return parser::Unwrap<parser::OpenMPLoopConstruct>(c) != nullptr ||
|                    ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: non-template declaration found by name lookup
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\openmp-utils.cpp:13:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(374,9): error: no member named 'Unwrap' in namespace 'Fortran::parser'; did you mean 'llvm::unwrap'?
374 |         parser::Unwrap<parser::DoConstruct>(c) != nullptr;
|         ^~~~~~~~~~~~~~
|         llvm::unwrap
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: 'llvm::unwrap' declared here
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\openmp-utils.cpp:13:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(374,17): error: 'unwrap' does not name a template but is followed by template arguments
374 |         parser::Unwrap<parser::DoConstruct>(c) != nullptr;
|                 ^     ~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: non-template declaration found by name lookup
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
4 errors generated.
```
</details>
<details>
<summary>[code=1] tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/canonicalize-do.cpp.obj</summary>

```
FAILED: [code=1] tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/canonicalize-do.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DFLANG_INCLUDE_TESTS=1 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\flang\lib\Semantics -IC:\_work\llvm-project\llvm-project\flang\lib\Semantics -IC:\_work\llvm-project\llvm-project\flang\include -Itools\flang\include -Iinclude -IC:\_work\llvm-project\llvm-project\llvm\include -imsvc C:\_work\llvm-project\llvm-project\flang\..\mlir\include -imsvc tools\mlir\include -imsvc tools\clang\include -imsvc C:\_work\llvm-project\llvm-project\llvm\..\clang\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported /O2 /Ob2  -MD -UNDEBUG /EHs-c- /GR- -std:c++17 /showIncludes /Fotools\flang\lib\Semantics\CMakeFiles\FortranSemantics.dir\canonicalize-do.cpp.obj /Fdtools\flang\lib\Semantics\CMakeFiles\FortranSemantics.dir\FortranSemantics.pdb -c -- C:\_work\llvm-project\llvm-project\flang\lib\Semantics\canonicalize-do.cpp
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Semantics\canonicalize-do.cpp:10:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(373,12): error: no member named 'Unwrap' in namespace 'Fortran::parser'; did you mean 'llvm::unwrap'?
373 |     return parser::Unwrap<parser::OpenMPLoopConstruct>(c) != nullptr ||
|            ^~~~~~~~~~~~~~
|            llvm::unwrap
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: 'llvm::unwrap' declared here
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Semantics\canonicalize-do.cpp:10:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(373,20): error: 'unwrap' does not name a template but is followed by template arguments
373 |     return parser::Unwrap<parser::OpenMPLoopConstruct>(c) != nullptr ||
|                    ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: non-template declaration found by name lookup
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Semantics\canonicalize-do.cpp:10:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(374,9): error: no member named 'Unwrap' in namespace 'Fortran::parser'; did you mean 'llvm::unwrap'?
374 |         parser::Unwrap<parser::DoConstruct>(c) != nullptr;
|         ^~~~~~~~~~~~~~
|         llvm::unwrap
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: 'llvm::unwrap' declared here
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Semantics\canonicalize-do.cpp:10:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(374,17): error: 'unwrap' does not name a template but is followed by template arguments
374 |         parser::Unwrap<parser::DoConstruct>(c) != nullptr;
|                 ^     ~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: non-template declaration found by name lookup
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
4 errors generated.
```
</details>
<details>
<summary>[code=1] tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/openmp-parsers.cpp.obj</summary>

```
FAILED: [code=1] tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/openmp-parsers.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DFLANG_INCLUDE_TESTS=1 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\flang\lib\Parser -IC:\_work\llvm-project\llvm-project\flang\lib\Parser -IC:\_work\llvm-project\llvm-project\flang\include -Itools\flang\include -Iinclude -IC:\_work\llvm-project\llvm-project\llvm\include -imsvc C:\_work\llvm-project\llvm-project\flang\..\mlir\include -imsvc tools\mlir\include -imsvc tools\clang\include -imsvc C:\_work\llvm-project\llvm-project\llvm\..\clang\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported /O2 /Ob2  -MD -UNDEBUG /EHs-c- /GR- -std:c++17 /showIncludes /Fotools\flang\lib\Parser\CMakeFiles\FortranParser.dir\openmp-parsers.cpp.obj /Fdtools\flang\lib\Parser\CMakeFiles\FortranParser.dir\FortranParser.pdb -c -- C:\_work\llvm-project\llvm-project\flang\lib\Parser\openmp-parsers.cpp
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\openmp-parsers.cpp:18:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(373,12): error: no member named 'Unwrap' in namespace 'Fortran::parser'; did you mean 'llvm::unwrap'?
373 |     return parser::Unwrap<parser::OpenMPLoopConstruct>(c) != nullptr ||
|            ^~~~~~~~~~~~~~
|            llvm::unwrap
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: 'llvm::unwrap' declared here
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\openmp-parsers.cpp:18:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(373,20): error: 'unwrap' does not name a template but is followed by template arguments
373 |     return parser::Unwrap<parser::OpenMPLoopConstruct>(c) != nullptr ||
|                    ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: non-template declaration found by name lookup
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\openmp-parsers.cpp:18:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(374,9): error: no member named 'Unwrap' in namespace 'Fortran::parser'; did you mean 'llvm::unwrap'?
374 |         parser::Unwrap<parser::DoConstruct>(c) != nullptr;
|         ^~~~~~~~~~~~~~
|         llvm::unwrap
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: 'llvm::unwrap' declared here
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Parser\openmp-parsers.cpp:18:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(374,17): error: 'unwrap' does not name a template but is followed by template arguments
374 |         parser::Unwrap<parser::DoConstruct>(c) != nullptr;
|                 ^     ~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: non-template declaration found by name lookup
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
4 errors generated.
```
</details>
<details>
<summary>[code=1] tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/rewrite-parse-tree.cpp.obj</summary>

```
FAILED: [code=1] tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/rewrite-parse-tree.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DFLANG_INCLUDE_TESTS=1 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\flang\lib\Semantics -IC:\_work\llvm-project\llvm-project\flang\lib\Semantics -IC:\_work\llvm-project\llvm-project\flang\include -Itools\flang\include -Iinclude -IC:\_work\llvm-project\llvm-project\llvm\include -imsvc C:\_work\llvm-project\llvm-project\flang\..\mlir\include -imsvc tools\mlir\include -imsvc tools\clang\include -imsvc C:\_work\llvm-project\llvm-project\llvm\..\clang\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported /O2 /Ob2  -MD -UNDEBUG /EHs-c- /GR- -std:c++17 /showIncludes /Fotools\flang\lib\Semantics\CMakeFiles\FortranSemantics.dir\rewrite-parse-tree.cpp.obj /Fdtools\flang\lib\Semantics\CMakeFiles\FortranSemantics.dir\FortranSemantics.pdb -c -- C:\_work\llvm-project\llvm-project\flang\lib\Semantics\rewrite-parse-tree.cpp
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Semantics\rewrite-parse-tree.cpp:12:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(373,12): error: no member named 'Unwrap' in namespace 'Fortran::parser'; did you mean 'llvm::unwrap'?
373 |     return parser::Unwrap<parser::OpenMPLoopConstruct>(c) != nullptr ||
|            ^~~~~~~~~~~~~~
|            llvm::unwrap
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: 'llvm::unwrap' declared here
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Semantics\rewrite-parse-tree.cpp:12:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(373,20): error: 'unwrap' does not name a template but is followed by template arguments
373 |     return parser::Unwrap<parser::OpenMPLoopConstruct>(c) != nullptr ||
|                    ^     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: non-template declaration found by name lookup
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Semantics\rewrite-parse-tree.cpp:12:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(374,9): error: no member named 'Unwrap' in namespace 'Fortran::parser'; did you mean 'llvm::unwrap'?
374 |         parser::Unwrap<parser::DoConstruct>(c) != nullptr;
|         ^~~~~~~~~~~~~~
|         llvm::unwrap
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: 'llvm::unwrap' declared here
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Semantics\rewrite-parse-tree.cpp:12:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(374,17): error: 'unwrap' does not name a template but is followed by template arguments
374 |         parser::Unwrap<parser::DoConstruct>(c) != nullptr;
|                 ^     ~~~~~~~~~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/MemoryBuffer.h(293,1): note: non-template declaration found by name lookup
293 | DEFINE_SIMPLE_CONVERSION_FUNCTIONS(MemoryBuffer, LLVMMemoryBufferRef)
| ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/Support/CBindingWrapping.h(20,14): note: expanded from macro 'DEFINE_SIMPLE_CONVERSION_FUNCTIONS'
20 |   inline ty *unwrap(ref P) {                            \
|              ^
4 errors generated.
```
</details>
<details>
<summary>[code=1] tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-omp-loop.cpp.obj</summary>

```
FAILED: [code=1] tools/flang/lib/Semantics/CMakeFiles/FortranSemantics.dir/check-omp-loop.cpp.obj
sccache C:\clang\clang-msvc\bin\clang-cl.exe  /nologo -TP -DFLANG_INCLUDE_TESTS=1 -DUNICODE -D_CRT_NONSTDC_NO_DEPRECATE -D_CRT_NONSTDC_NO_WARNINGS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_SECURE_NO_WARNINGS -D_GLIBCXX_ASSERTIONS -D_HAS_EXCEPTIONS=0 -D_SCL_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_UNICODE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -Itools\flang\lib\Semantics -IC:\_work\llvm-project\llvm-project\flang\lib\Semantics -IC:\_work\llvm-project\llvm-project\flang\include -Itools\flang\include -Iinclude -IC:\_work\llvm-project\llvm-project\llvm\include -imsvc C:\_work\llvm-project\llvm-project\flang\..\mlir\include -imsvc tools\mlir\include -imsvc tools\clang\include -imsvc C:\_work\llvm-project\llvm-project\llvm\..\clang\include /DWIN32 /D_WINDOWS   /Zc:inline /Zc:__cplusplus /Oi /Brepro /bigobj /permissive- -Werror=unguarded-availability-new /W4  -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported /Gw -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported /O2 /Ob2  -MD -UNDEBUG /EHs-c- /GR- -std:c++17 /showIncludes /Fotools\flang\lib\Semantics\CMakeFiles\FortranSemantics.dir\check-omp-loop.cpp.obj /Fdtools\flang\lib\Semantics\CMakeFiles\FortranSemantics.dir\FortranSemantics.pdb -c -- C:\_work\llvm-project\llvm-project\flang\lib\Semantics\check-omp-loop.cpp
In file included from C:\_work\llvm-project\llvm-project\flang\lib\Semantics\check-omp-loop.cpp:20:
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(275,11): error: no matching constructor for initialization of 'IteratorRange' (aka 'iterator_range<_List_const_iterator<_List_val<std::_List_simple_types<Fortran::parser::ExecutionPartConstruct>>>>')
275 |         : range(r), owner(c) {}
|           ^     ~
C:\BuildTools\VC\Tools\MSVC\14.29.30133\include\xmemory(681,41): note: in instantiation of function template specialization 'Fortran::parser::omp::ExecutionPartIterator::Construct::Construct<Fortran::parser::omp::ExecutionPartIterator::Construct &>' requested here
681 |             ::new (_Voidify_iter(_Ptr)) _Objty(_STD forward<_Types>(_Args)...);
|                                         ^
C:\BuildTools\VC\Tools\MSVC\14.29.30133\include\xmemory(1620,35): note: in instantiation of function template specialization 'std::_Default_allocator_traits<std::allocator<Fortran::parser::omp::ExecutionPartIterator::Construct>>::construct<Fortran::parser::omp::ExecutionPartIterator::Construct, Fortran::parser::omp::ExecutionPartIterator::Construct &>' requested here
1620 |         allocator_traits<_Alloc>::construct(_Al, _Unfancy(_Last), _STD forward<_Types>(_Vals)...);
|                                   ^
C:\BuildTools\VC\Tools\MSVC\14.29.30133\include\xmemory(1659,18): note: in instantiation of function template specialization 'std::_Uninitialized_backout_al<std::allocator<Fortran::parser::omp::ExecutionPartIterator::Construct>>::_Emplace_back<Fortran::parser::omp::ExecutionPartIterator::Construct &>' requested here
1659 |         _Backout._Emplace_back(*_UFirst);
|                  ^
C:\BuildTools\VC\Tools\MSVC\14.29.30133\include\vector(1641,16): note: in instantiation of function template specialization 'std::_Uninitialized_copy<Fortran::parser::omp::ExecutionPartIterator::Construct *, std::allocator<Fortran::parser::omp::ExecutionPartIterator::Construct>>' requested here
1641 |         return _Uninitialized_copy(_First, _Last, _Dest, _Getal());
|                ^
C:\BuildTools\VC\Tools\MSVC\14.29.30133\include\vector(552,32): note: in instantiation of function template specialization 'std::vector<Fortran::parser::omp::ExecutionPartIterator::Construct>::_Ucopy<Fortran::parser::omp::ExecutionPartIterator::Construct *>' requested here
552 |             _My_data._Mylast = _Ucopy(_Rightfirst, _Rightlast, _My_data._Myfirst);
|                                ^
C:\_work\llvm-project\llvm-project\flang\include\flang/Parser/openmp-utils.h(259,8): note: in instantiation of member function 'std::vector<Fortran::parser::omp::ExecutionPartIterator::Construct>::vector' requested here
259 | struct ExecutionPartIterator {
|        ^
C:\_work\llvm-project\llvm-project\flang\lib\Semantics\check-omp-loop.cpp(276,19): note: in instantiation of member function 'Fortran::parser::omp::ExecutionPartRange<>::begin' requested here
276 |   for (auto &stmt : BlockRange(body, BlockRange::Step::Over)) {
|                   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/iterator_range.h(32,7): note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'Fortran::parser::omp::ExecutionPartIterator::Construct' to 'const iterator_range<std::_List_const_iterator<std::_List_val<std::_List_simple_types<Fortran::parser::ExecutionPartConstruct>>>>' for 1st argument
32 | class iterator_range {
|       ^~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/iterator_range.h(32,7): note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'Fortran::parser::omp::ExecutionPartIterator::Construct' to 'iterator_range<std::_List_const_iterator<std::_List_val<std::_List_simple_types<Fortran::parser::ExecutionPartConstruct>>>>' for 1st argument
32 | class iterator_range {
|       ^~~~~~~~~~~~~~
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/iterator_range.h(50,3): note: candidate template ignored: substitution failure [with Container = Fortran::parser::omp::ExecutionPartIterator::Construct &]: no matching function for call to 'adl_begin'
50 |   iterator_range(Container &&c)
|   ^
C:\_work\llvm-project\llvm-project\llvm\include\llvm/ADT/iterator_range.h(53,3): note: candidate constructor not viable: requires 2 arguments, but 1 was provided
53 |   iterator_range(IteratorT begin_iterator, IteratorT end_iterator)
|   ^              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1 error generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

https://github.com/llvm/llvm-project/pull/180981


More information about the flang-commits mailing list