[clang] [llvm] [clang][OpenMP] New OpenMP 6.0 assumption clause, 'no_openmp_constructs' (PR #125933)

LLVM Continuous Integration via cfe-commits cfe-commits at lists.llvm.org
Thu Feb 6 13:03:26 PST 2025


llvm-ci wrote:

LLVM Buildbot has detected a new failure on builder `flang-aarch64-libcxx` running on `linaro-flang-aarch64-libcxx` while building `clang,llvm` at step 5 "build-unified-tree".

Full details are available at: https://lab.llvm.org/buildbot/#/builders/89/builds/16100

<details>
<summary>Here is the relevant piece of the build log for the reference</summary>

```
Step 5 (build-unified-tree) failure: build (failure)
...
233.982 [797/103/6425] Building CXX object tools/clang/tools/libclang/CMakeFiles/libclang.dir/CXExtractAPI.cpp.o
239.823 [797/102/6426] Building CXX object tools/flang/lib/Optimizer/Dialect/CMakeFiles/FIRDialect.dir/FIRDialect.cpp.o
240.975 [797/101/6427] Building CXX object tools/clang/tools/c-index-test/CMakeFiles/c-index-test.dir/core_main.cpp.o
242.301 [797/100/6428] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/parse-tree.cpp.o
249.214 [797/99/6429] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/io-parsers.cpp.o
249.939 [797/98/6430] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/expr-parsers.cpp.o
261.081 [797/97/6431] Building CXX object tools/clang/tools/clang-repl/CMakeFiles/clang-repl.dir/ClangRepl.cpp.o
264.623 [797/96/6432] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/user-state.cpp.o
266.632 [797/95/6433] Building CXX object tools/flang/lib/Parser/CMakeFiles/FortranParser.dir/openacc-parsers.cpp.o
277.118 [797/94/6434] Building CXX object tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/OpenMP/Clauses.cpp.o
FAILED: tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/OpenMP/Clauses.cpp.o 
/usr/local/bin/c++ -DFLANG_INCLUDE_TESTS=1 -DFLANG_LITTLE_ENDIAN=1 -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/flang/lib/Lower -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/flang/lib/Lower -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/flang/include -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/include -I/home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/llvm/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/llvm/../mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/mlir/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/build/tools/clang/include -isystem /home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/llvm/../clang/include -stdlib=libc++ -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -Werror -Wno-deprecated-copy -Wno-string-conversion -Wno-ctad-maybe-unsupported -Wno-unused-command-line-argument -Wstring-conversion           -Wcovered-switch-default -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17 -fPIC  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/OpenMP/Clauses.cpp.o -MF tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/OpenMP/Clauses.cpp.o.d -o tools/flang/lib/Lower/CMakeFiles/FortranLower.dir/OpenMP/Clauses.cpp.o -c /home/tcwg-buildbot/worker/flang-aarch64-libcxx/llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp
../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1399:41: error: no matching function for call to 'make'
 1399 |             return makeClause(cls.Id(), clause::make(s, semaCtx), cls.source);
      |                                         ^~~~~~~~~~~~
../llvm-project/flang/include/flang/Common/visit.h:48:7: note: in instantiation of function template specialization 'Fortran::lower::omp::makeClause(const parser::OmpClause &, semantics::SemanticsContext &)::(anonymous class)::operator()<const Fortran::parser::OmpClause::NoOpenmpConstructs &>' requested here
   48 |       VISIT_CASE_N(4)
      |       ^
../llvm-project/flang/include/flang/Common/visit.h:40:14: note: expanded from macro 'VISIT_CASE_N'
   40 |       return visitor(std::get<(LOW + N)>(std::forward<VARIANT>(u))...); \
      |              ^
../llvm-project/flang/include/flang/Common/visit.h:61:14: note: in instantiation of function template specialization 'Fortran::common::log2visit::Log2VisitHelper<57UL, 64UL, Fortran::lower::omp::Clause, Fortran::common::visitors<(lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1388:11), (lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1398:11)>, const std::variant<Fortran::parser::OmpClause::Absent, Fortran::parser::OmpClause::AcqRel, Fortran::parser::OmpClause::Acquire, Fortran::parser::OmpClause::AdjustArgs, Fortran::parser::OmpClause::Affinity, Fortran::parser::OmpClause::Align, Fortran::parser::OmpClause::Aligned, Fortran::parser::OmpClause::Allocate, Fortran::parser::OmpClause::Allocator, Fortran::parser::OmpClause::AppendArgs, Fortran::parser::OmpClause::At, Fortran::parser::OmpClause::AtomicDefaultMemOrder, Fortran::parser::OmpClause::Bind, Fortran::parser::OmpClause::CancellationConstructType, Fortran::parser::OmpClause::Capture, Fortran::parser::OmpClause::Collapse, Fortran::parser::OmpClause::Compare, Fortran::parser::OmpClause::Contains, Fortran::parser::OmpClause::Copyprivate, Fortran::parser::OmpClause::Copyin, Fortran::parser::OmpClause::Default, Fortran::parser::OmpClause::Defaultmap, Fortran::parser::OmpClause::Depend, Fortran::parser::OmpClause::Depobj, Fortran::parser::OmpClause::Destroy, Fortran::parser::OmpClause::Detach, Fortran::parser::OmpClause::Device, Fortran::parser::OmpClause::DeviceType, Fortran::parser::OmpClause::DistSchedule, Fortran::parser::OmpClause::Doacross, Fortran::parser::OmpClause::DynamicAllocators, Fortran::parser::OmpClause::Enter, Fortran::parser::OmpClause::Exclusive, Fortran::parser::OmpClause::Fail, Fortran::parser::OmpClause::Filter, Fortran::parser::OmpClause::Final, Fortran::parser::OmpClause::Firstprivate, Fortran::parser::OmpClause::Flush, Fortran::parser::OmpClause::From, Fortran::parser::OmpClause::Full, Fortran::parser::OmpClause::Grainsize, Fortran::parser::OmpClause::HasDeviceAddr, Fortran::parser::OmpClause::Hint, Fortran::parser::OmpClause::Holds, Fortran::parser::OmpClause::If, Fortran::parser::OmpClause::InReduction, Fortran::parser::OmpClause::Inbranch, Fortran::parser::OmpClause::Inclusive, Fortran::parser::OmpClause::Indirect, Fortran::parser::OmpClause::Init, Fortran::parser::OmpClause::IsDevicePtr, Fortran::parser::OmpClause::Lastprivate, Fortran::parser::OmpClause::Linear, Fortran::parser::OmpClause::Link, Fortran::parser::OmpClause::Map, Fortran::parser::OmpClause::Match, Fortran::parser::OmpClause::MemoryOrder, Fortran::parser::OmpClause::Mergeable, Fortran::parser::OmpClause::Message, Fortran::parser::OmpClause::Nogroup, Fortran::parser::OmpClause::NoOpenmp, Fortran::parser::OmpClause::NoOpenmpConstructs, Fortran::parser::OmpClause::NoOpenmpRoutines, Fortran::parser::OmpClause::NoParallelism, Fortran::parser::OmpClause::Nowait, Fortran::parser::OmpClause::Nocontext, Fortran::parser::OmpClause::Nontemporal, Fortran::parser::OmpClause::Notinbranch, Fortran::parser::OmpClause::Novariants, Fortran::parser::OmpClause::NumTasks, Fortran::parser::OmpClause::NumTeams, Fortran::parser::OmpClause::NumThreads, Fortran::parser::OmpClause::OmpxAttribute, Fortran::parser::OmpClause::OmpxBare, Fortran::parser::OmpClause::OmpxDynCgroupMem, Fortran::parser::OmpClause::Order, Fortran::parser::OmpClause::Ordered, Fortran::parser::OmpClause::Otherwise, Fortran::parser::OmpClause::Partial, Fortran::parser::OmpClause::Permutation, Fortran::parser::OmpClause::Priority, Fortran::parser::OmpClause::Private, Fortran::parser::OmpClause::ProcBind, Fortran::parser::OmpClause::Read, Fortran::parser::OmpClause::Reduction, Fortran::parser::OmpClause::Relaxed, Fortran::parser::OmpClause::Release, Fortran::parser::OmpClause::ReverseOffload, Fortran::parser::OmpClause::Safelen, Fortran::parser::OmpClause::Schedule, Fortran::parser::OmpClause::SeqCst, Fortran::parser::OmpClause::Severity, Fortran::parser::OmpClause::Shared, Fortran::parser::OmpClause::Simd, Fortran::parser::OmpClause::Simdlen, Fortran::parser::OmpClause::Sizes, Fortran::parser::OmpClause::TaskReduction, Fortran::parser::OmpClause::ThreadLimit, Fortran::parser::OmpClause::Threadprivate, Fortran::parser::OmpClause::Threads, Fortran::parser::OmpClause::To, Fortran::parser::OmpClause::UnifiedAddress, Fortran::parser::OmpClause::UnifiedSharedMemory, Fortran::parser::OmpClause::Uniform, Fortran::parser::OmpClause::Unknown, Fortran::parser::OmpClause::Untied, Fortran::parser::OmpClause::Update, Fortran::parser::OmpClause::Use, Fortran::parser::OmpClause::UseDeviceAddr, Fortran::parser::OmpClause::UseDevicePtr, Fortran::parser::OmpClause::UsesAllocators, Fortran::parser::OmpClause::Weak, Fortran::parser::OmpClause::When, Fortran::parser::OmpClause::Write> &>' requested here
   61 |       return Log2VisitHelper<LOW, mid, RESULT>(
      |              ^
../llvm-project/flang/include/flang/Common/visit.h:61:14: note: in instantiation of function template specialization 'Fortran::common::log2visit::Log2VisitHelper<57UL, 71UL, Fortran::lower::omp::Clause, Fortran::common::visitors<(lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1388:11), (lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1398:11)>, const std::variant<Fortran::parser::OmpClause::Absent, Fortran::parser::OmpClause::AcqRel, Fortran::parser::OmpClause::Acquire, Fortran::parser::OmpClause::AdjustArgs, Fortran::parser::OmpClause::Affinity, Fortran::parser::OmpClause::Align, Fortran::parser::OmpClause::Aligned, Fortran::parser::OmpClause::Allocate, Fortran::parser::OmpClause::Allocator, Fortran::parser::OmpClause::AppendArgs, Fortran::parser::OmpClause::At, Fortran::parser::OmpClause::AtomicDefaultMemOrder, Fortran::parser::OmpClause::Bind, Fortran::parser::OmpClause::CancellationConstructType, Fortran::parser::OmpClause::Capture, Fortran::parser::OmpClause::Collapse, Fortran::parser::OmpClause::Compare, Fortran::parser::OmpClause::Contains, Fortran::parser::OmpClause::Copyprivate, Fortran::parser::OmpClause::Copyin, Fortran::parser::OmpClause::Default, Fortran::parser::OmpClause::Defaultmap, Fortran::parser::OmpClause::Depend, Fortran::parser::OmpClause::Depobj, Fortran::parser::OmpClause::Destroy, Fortran::parser::OmpClause::Detach, Fortran::parser::OmpClause::Device, Fortran::parser::OmpClause::DeviceType, Fortran::parser::OmpClause::DistSchedule, Fortran::parser::OmpClause::Doacross, Fortran::parser::OmpClause::DynamicAllocators, Fortran::parser::OmpClause::Enter, Fortran::parser::OmpClause::Exclusive, Fortran::parser::OmpClause::Fail, Fortran::parser::OmpClause::Filter, Fortran::parser::OmpClause::Final, Fortran::parser::OmpClause::Firstprivate, Fortran::parser::OmpClause::Flush, Fortran::parser::OmpClause::From, Fortran::parser::OmpClause::Full, Fortran::parser::OmpClause::Grainsize, Fortran::parser::OmpClause::HasDeviceAddr, Fortran::parser::OmpClause::Hint, Fortran::parser::OmpClause::Holds, Fortran::parser::OmpClause::If, Fortran::parser::OmpClause::InReduction, Fortran::parser::OmpClause::Inbranch, Fortran::parser::OmpClause::Inclusive, Fortran::parser::OmpClause::Indirect, Fortran::parser::OmpClause::Init, Fortran::parser::OmpClause::IsDevicePtr, Fortran::parser::OmpClause::Lastprivate, Fortran::parser::OmpClause::Linear, Fortran::parser::OmpClause::Link, Fortran::parser::OmpClause::Map, Fortran::parser::OmpClause::Match, Fortran::parser::OmpClause::MemoryOrder, Fortran::parser::OmpClause::Mergeable, Fortran::parser::OmpClause::Message, Fortran::parser::OmpClause::Nogroup, Fortran::parser::OmpClause::NoOpenmp, Fortran::parser::OmpClause::NoOpenmpConstructs, Fortran::parser::OmpClause::NoOpenmpRoutines, Fortran::parser::OmpClause::NoParallelism, Fortran::parser::OmpClause::Nowait, Fortran::parser::OmpClause::Nocontext, Fortran::parser::OmpClause::Nontemporal, Fortran::parser::OmpClause::Notinbranch, Fortran::parser::OmpClause::Novariants, Fortran::parser::OmpClause::NumTasks, Fortran::parser::OmpClause::NumTeams, Fortran::parser::OmpClause::NumThreads, Fortran::parser::OmpClause::OmpxAttribute, Fortran::parser::OmpClause::OmpxBare, Fortran::parser::OmpClause::OmpxDynCgroupMem, Fortran::parser::OmpClause::Order, Fortran::parser::OmpClause::Ordered, Fortran::parser::OmpClause::Otherwise, Fortran::parser::OmpClause::Partial, Fortran::parser::OmpClause::Permutation, Fortran::parser::OmpClause::Priority, Fortran::parser::OmpClause::Private, Fortran::parser::OmpClause::ProcBind, Fortran::parser::OmpClause::Read, Fortran::parser::OmpClause::Reduction, Fortran::parser::OmpClause::Relaxed, Fortran::parser::OmpClause::Release, Fortran::parser::OmpClause::ReverseOffload, Fortran::parser::OmpClause::Safelen, Fortran::parser::OmpClause::Schedule, Fortran::parser::OmpClause::SeqCst, Fortran::parser::OmpClause::Severity, Fortran::parser::OmpClause::Shared, Fortran::parser::OmpClause::Simd, Fortran::parser::OmpClause::Simdlen, Fortran::parser::OmpClause::Sizes, Fortran::parser::OmpClause::TaskReduction, Fortran::parser::OmpClause::ThreadLimit, Fortran::parser::OmpClause::Threadprivate, Fortran::parser::OmpClause::Threads, Fortran::parser::OmpClause::To, Fortran::parser::OmpClause::UnifiedAddress, Fortran::parser::OmpClause::UnifiedSharedMemory, Fortran::parser::OmpClause::Uniform, Fortran::parser::OmpClause::Unknown, Fortran::parser::OmpClause::Untied, Fortran::parser::OmpClause::Update, Fortran::parser::OmpClause::Use, Fortran::parser::OmpClause::UseDeviceAddr, Fortran::parser::OmpClause::UseDevicePtr, Fortran::parser::OmpClause::UsesAllocators, Fortran::parser::OmpClause::Weak, Fortran::parser::OmpClause::When, Fortran::parser::OmpClause::Write> &>' requested here
../llvm-project/flang/include/flang/Common/visit.h:61:14: note: in instantiation of function template specialization 'Fortran::common::log2visit::Log2VisitHelper<57UL, 85UL, Fortran::lower::omp::Clause, Fortran::common::visitors<(lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1388:11), (lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1398:11)>, const std::variant<Fortran::parser::OmpClause::Absent, Fortran::parser::OmpClause::AcqRel, Fortran::parser::OmpClause::Acquire, Fortran::parser::OmpClause::AdjustArgs, Fortran::parser::OmpClause::Affinity, Fortran::parser::OmpClause::Align, Fortran::parser::OmpClause::Aligned, Fortran::parser::OmpClause::Allocate, Fortran::parser::OmpClause::Allocator, Fortran::parser::OmpClause::AppendArgs, Fortran::parser::OmpClause::At, Fortran::parser::OmpClause::AtomicDefaultMemOrder, Fortran::parser::OmpClause::Bind, Fortran::parser::OmpClause::CancellationConstructType, Fortran::parser::OmpClause::Capture, Fortran::parser::OmpClause::Collapse, Fortran::parser::OmpClause::Compare, Fortran::parser::OmpClause::Contains, Fortran::parser::OmpClause::Copyprivate, Fortran::parser::OmpClause::Copyin, Fortran::parser::OmpClause::Default, Fortran::parser::OmpClause::Defaultmap, Fortran::parser::OmpClause::Depend, Fortran::parser::OmpClause::Depobj, Fortran::parser::OmpClause::Destroy, Fortran::parser::OmpClause::Detach, Fortran::parser::OmpClause::Device, Fortran::parser::OmpClause::DeviceType, Fortran::parser::OmpClause::DistSchedule, Fortran::parser::OmpClause::Doacross, Fortran::parser::OmpClause::DynamicAllocators, Fortran::parser::OmpClause::Enter, Fortran::parser::OmpClause::Exclusive, Fortran::parser::OmpClause::Fail, Fortran::parser::OmpClause::Filter, Fortran::parser::OmpClause::Final, Fortran::parser::OmpClause::Firstprivate, Fortran::parser::OmpClause::Flush, Fortran::parser::OmpClause::From, Fortran::parser::OmpClause::Full, Fortran::parser::OmpClause::Grainsize, Fortran::parser::OmpClause::HasDeviceAddr, Fortran::parser::OmpClause::Hint, Fortran::parser::OmpClause::Holds, Fortran::parser::OmpClause::If, Fortran::parser::OmpClause::InReduction, Fortran::parser::OmpClause::Inbranch, Fortran::parser::OmpClause::Inclusive, Fortran::parser::OmpClause::Indirect, Fortran::parser::OmpClause::Init, Fortran::parser::OmpClause::IsDevicePtr, Fortran::parser::OmpClause::Lastprivate, Fortran::parser::OmpClause::Linear, Fortran::parser::OmpClause::Link, Fortran::parser::OmpClause::Map, Fortran::parser::OmpClause::Match, Fortran::parser::OmpClause::MemoryOrder, Fortran::parser::OmpClause::Mergeable, Fortran::parser::OmpClause::Message, Fortran::parser::OmpClause::Nogroup, Fortran::parser::OmpClause::NoOpenmp, Fortran::parser::OmpClause::NoOpenmpConstructs, Fortran::parser::OmpClause::NoOpenmpRoutines, Fortran::parser::OmpClause::NoParallelism, Fortran::parser::OmpClause::Nowait, Fortran::parser::OmpClause::Nocontext, Fortran::parser::OmpClause::Nontemporal, Fortran::parser::OmpClause::Notinbranch, Fortran::parser::OmpClause::Novariants, Fortran::parser::OmpClause::NumTasks, Fortran::parser::OmpClause::NumTeams, Fortran::parser::OmpClause::NumThreads, Fortran::parser::OmpClause::OmpxAttribute, Fortran::parser::OmpClause::OmpxBare, Fortran::parser::OmpClause::OmpxDynCgroupMem, Fortran::parser::OmpClause::Order, Fortran::parser::OmpClause::Ordered, Fortran::parser::OmpClause::Otherwise, Fortran::parser::OmpClause::Partial, Fortran::parser::OmpClause::Permutation, Fortran::parser::OmpClause::Priority, Fortran::parser::OmpClause::Private, Fortran::parser::OmpClause::ProcBind, Fortran::parser::OmpClause::Read, Fortran::parser::OmpClause::Reduction, Fortran::parser::OmpClause::Relaxed, Fortran::parser::OmpClause::Release, Fortran::parser::OmpClause::ReverseOffload, Fortran::parser::OmpClause::Safelen, Fortran::parser::OmpClause::Schedule, Fortran::parser::OmpClause::SeqCst, Fortran::parser::OmpClause::Severity, Fortran::parser::OmpClause::Shared, Fortran::parser::OmpClause::Simd, Fortran::parser::OmpClause::Simdlen, Fortran::parser::OmpClause::Sizes, Fortran::parser::OmpClause::TaskReduction, Fortran::parser::OmpClause::ThreadLimit, Fortran::parser::OmpClause::Threadprivate, Fortran::parser::OmpClause::Threads, Fortran::parser::OmpClause::To, Fortran::parser::OmpClause::UnifiedAddress, Fortran::parser::OmpClause::UnifiedSharedMemory, Fortran::parser::OmpClause::Uniform, Fortran::parser::OmpClause::Unknown, Fortran::parser::OmpClause::Untied, Fortran::parser::OmpClause::Update, Fortran::parser::OmpClause::Use, Fortran::parser::OmpClause::UseDeviceAddr, Fortran::parser::OmpClause::UseDevicePtr, Fortran::parser::OmpClause::UsesAllocators, Fortran::parser::OmpClause::Weak, Fortran::parser::OmpClause::When, Fortran::parser::OmpClause::Write> &>' requested here
../llvm-project/flang/include/flang/Common/visit.h:64:14: note: in instantiation of function template specialization 'Fortran::common::log2visit::Log2VisitHelper<57UL, 113UL, Fortran::lower::omp::Clause, Fortran::common::visitors<(lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1388:11), (lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1398:11)>, const std::variant<Fortran::parser::OmpClause::Absent, Fortran::parser::OmpClause::AcqRel, Fortran::parser::OmpClause::Acquire, Fortran::parser::OmpClause::AdjustArgs, Fortran::parser::OmpClause::Affinity, Fortran::parser::OmpClause::Align, Fortran::parser::OmpClause::Aligned, Fortran::parser::OmpClause::Allocate, Fortran::parser::OmpClause::Allocator, Fortran::parser::OmpClause::AppendArgs, Fortran::parser::OmpClause::At, Fortran::parser::OmpClause::AtomicDefaultMemOrder, Fortran::parser::OmpClause::Bind, Fortran::parser::OmpClause::CancellationConstructType, Fortran::parser::OmpClause::Capture, Fortran::parser::OmpClause::Collapse, Fortran::parser::OmpClause::Compare, Fortran::parser::OmpClause::Contains, Fortran::parser::OmpClause::Copyprivate, Fortran::parser::OmpClause::Copyin, Fortran::parser::OmpClause::Default, Fortran::parser::OmpClause::Defaultmap, Fortran::parser::OmpClause::Depend, Fortran::parser::OmpClause::Depobj, Fortran::parser::OmpClause::Destroy, Fortran::parser::OmpClause::Detach, Fortran::parser::OmpClause::Device, Fortran::parser::OmpClause::DeviceType, Fortran::parser::OmpClause::DistSchedule, Fortran::parser::OmpClause::Doacross, Fortran::parser::OmpClause::DynamicAllocators, Fortran::parser::OmpClause::Enter, Fortran::parser::OmpClause::Exclusive, Fortran::parser::OmpClause::Fail, Fortran::parser::OmpClause::Filter, Fortran::parser::OmpClause::Final, Fortran::parser::OmpClause::Firstprivate, Fortran::parser::OmpClause::Flush, Fortran::parser::OmpClause::From, Fortran::parser::OmpClause::Full, Fortran::parser::OmpClause::Grainsize, Fortran::parser::OmpClause::HasDeviceAddr, Fortran::parser::OmpClause::Hint, Fortran::parser::OmpClause::Holds, Fortran::parser::OmpClause::If, Fortran::parser::OmpClause::InReduction, Fortran::parser::OmpClause::Inbranch, Fortran::parser::OmpClause::Inclusive, Fortran::parser::OmpClause::Indirect, Fortran::parser::OmpClause::Init, Fortran::parser::OmpClause::IsDevicePtr, Fortran::parser::OmpClause::Lastprivate, Fortran::parser::OmpClause::Linear, Fortran::parser::OmpClause::Link, Fortran::parser::OmpClause::Map, Fortran::parser::OmpClause::Match, Fortran::parser::OmpClause::MemoryOrder, Fortran::parser::OmpClause::Mergeable, Fortran::parser::OmpClause::Message, Fortran::parser::OmpClause::Nogroup, Fortran::parser::OmpClause::NoOpenmp, Fortran::parser::OmpClause::NoOpenmpConstructs, Fortran::parser::OmpClause::NoOpenmpRoutines, Fortran::parser::OmpClause::NoParallelism, Fortran::parser::OmpClause::Nowait, Fortran::parser::OmpClause::Nocontext, Fortran::parser::OmpClause::Nontemporal, Fortran::parser::OmpClause::Notinbranch, Fortran::parser::OmpClause::Novariants, Fortran::parser::OmpClause::NumTasks, Fortran::parser::OmpClause::NumTeams, Fortran::parser::OmpClause::NumThreads, Fortran::parser::OmpClause::OmpxAttribute, Fortran::parser::OmpClause::OmpxBare, Fortran::parser::OmpClause::OmpxDynCgroupMem, Fortran::parser::OmpClause::Order, Fortran::parser::OmpClause::Ordered, Fortran::parser::OmpClause::Otherwise, Fortran::parser::OmpClause::Partial, Fortran::parser::OmpClause::Permutation, Fortran::parser::OmpClause::Priority, Fortran::parser::OmpClause::Private, Fortran::parser::OmpClause::ProcBind, Fortran::parser::OmpClause::Read, Fortran::parser::OmpClause::Reduction, Fortran::parser::OmpClause::Relaxed, Fortran::parser::OmpClause::Release, Fortran::parser::OmpClause::ReverseOffload, Fortran::parser::OmpClause::Safelen, Fortran::parser::OmpClause::Schedule, Fortran::parser::OmpClause::SeqCst, Fortran::parser::OmpClause::Severity, Fortran::parser::OmpClause::Shared, Fortran::parser::OmpClause::Simd, Fortran::parser::OmpClause::Simdlen, Fortran::parser::OmpClause::Sizes, Fortran::parser::OmpClause::TaskReduction, Fortran::parser::OmpClause::ThreadLimit, Fortran::parser::OmpClause::Threadprivate, Fortran::parser::OmpClause::Threads, Fortran::parser::OmpClause::To, Fortran::parser::OmpClause::UnifiedAddress, Fortran::parser::OmpClause::UnifiedSharedMemory, Fortran::parser::OmpClause::Uniform, Fortran::parser::OmpClause::Unknown, Fortran::parser::OmpClause::Untied, Fortran::parser::OmpClause::Update, Fortran::parser::OmpClause::Use, Fortran::parser::OmpClause::UseDeviceAddr, Fortran::parser::OmpClause::UseDevicePtr, Fortran::parser::OmpClause::UsesAllocators, Fortran::parser::OmpClause::Weak, Fortran::parser::OmpClause::When, Fortran::parser::OmpClause::Write> &>' requested here
   64 |       return Log2VisitHelper<(mid + 1), HIGH, RESULT>(
      |              ^
../llvm-project/flang/include/flang/Common/visit.h:78:12: note: in instantiation of function template specialization 'Fortran::common::log2visit::Log2VisitHelper<0UL, 113UL, Fortran::lower::omp::Clause, Fortran::common::visitors<(lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1388:11), (lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1398:11)>, const std::variant<Fortran::parser::OmpClause::Absent, Fortran::parser::OmpClause::AcqRel, Fortran::parser::OmpClause::Acquire, Fortran::parser::OmpClause::AdjustArgs, Fortran::parser::OmpClause::Affinity, Fortran::parser::OmpClause::Align, Fortran::parser::OmpClause::Aligned, Fortran::parser::OmpClause::Allocate, Fortran::parser::OmpClause::Allocator, Fortran::parser::OmpClause::AppendArgs, Fortran::parser::OmpClause::At, Fortran::parser::OmpClause::AtomicDefaultMemOrder, Fortran::parser::OmpClause::Bind, Fortran::parser::OmpClause::CancellationConstructType, Fortran::parser::OmpClause::Capture, Fortran::parser::OmpClause::Collapse, Fortran::parser::OmpClause::Compare, Fortran::parser::OmpClause::Contains, Fortran::parser::OmpClause::Copyprivate, Fortran::parser::OmpClause::Copyin, Fortran::parser::OmpClause::Default, Fortran::parser::OmpClause::Defaultmap, Fortran::parser::OmpClause::Depend, Fortran::parser::OmpClause::Depobj, Fortran::parser::OmpClause::Destroy, Fortran::parser::OmpClause::Detach, Fortran::parser::OmpClause::Device, Fortran::parser::OmpClause::DeviceType, Fortran::parser::OmpClause::DistSchedule, Fortran::parser::OmpClause::Doacross, Fortran::parser::OmpClause::DynamicAllocators, Fortran::parser::OmpClause::Enter, Fortran::parser::OmpClause::Exclusive, Fortran::parser::OmpClause::Fail, Fortran::parser::OmpClause::Filter, Fortran::parser::OmpClause::Final, Fortran::parser::OmpClause::Firstprivate, Fortran::parser::OmpClause::Flush, Fortran::parser::OmpClause::From, Fortran::parser::OmpClause::Full, Fortran::parser::OmpClause::Grainsize, Fortran::parser::OmpClause::HasDeviceAddr, Fortran::parser::OmpClause::Hint, Fortran::parser::OmpClause::Holds, Fortran::parser::OmpClause::If, Fortran::parser::OmpClause::InReduction, Fortran::parser::OmpClause::Inbranch, Fortran::parser::OmpClause::Inclusive, Fortran::parser::OmpClause::Indirect, Fortran::parser::OmpClause::Init, Fortran::parser::OmpClause::IsDevicePtr, Fortran::parser::OmpClause::Lastprivate, Fortran::parser::OmpClause::Linear, Fortran::parser::OmpClause::Link, Fortran::parser::OmpClause::Map, Fortran::parser::OmpClause::Match, Fortran::parser::OmpClause::MemoryOrder, Fortran::parser::OmpClause::Mergeable, Fortran::parser::OmpClause::Message, Fortran::parser::OmpClause::Nogroup, Fortran::parser::OmpClause::NoOpenmp, Fortran::parser::OmpClause::NoOpenmpConstructs, Fortran::parser::OmpClause::NoOpenmpRoutines, Fortran::parser::OmpClause::NoParallelism, Fortran::parser::OmpClause::Nowait, Fortran::parser::OmpClause::Nocontext, Fortran::parser::OmpClause::Nontemporal, Fortran::parser::OmpClause::Notinbranch, Fortran::parser::OmpClause::Novariants, Fortran::parser::OmpClause::NumTasks, Fortran::parser::OmpClause::NumTeams, Fortran::parser::OmpClause::NumThreads, Fortran::parser::OmpClause::OmpxAttribute, Fortran::parser::OmpClause::OmpxBare, Fortran::parser::OmpClause::OmpxDynCgroupMem, Fortran::parser::OmpClause::Order, Fortran::parser::OmpClause::Ordered, Fortran::parser::OmpClause::Otherwise, Fortran::parser::OmpClause::Partial, Fortran::parser::OmpClause::Permutation, Fortran::parser::OmpClause::Priority, Fortran::parser::OmpClause::Private, Fortran::parser::OmpClause::ProcBind, Fortran::parser::OmpClause::Read, Fortran::parser::OmpClause::Reduction, Fortran::parser::OmpClause::Relaxed, Fortran::parser::OmpClause::Release, Fortran::parser::OmpClause::ReverseOffload, Fortran::parser::OmpClause::Safelen, Fortran::parser::OmpClause::Schedule, Fortran::parser::OmpClause::SeqCst, Fortran::parser::OmpClause::Severity, Fortran::parser::OmpClause::Shared, Fortran::parser::OmpClause::Simd, Fortran::parser::OmpClause::Simdlen, Fortran::parser::OmpClause::Sizes, Fortran::parser::OmpClause::TaskReduction, Fortran::parser::OmpClause::ThreadLimit, Fortran::parser::OmpClause::Threadprivate, Fortran::parser::OmpClause::Threads, Fortran::parser::OmpClause::To, Fortran::parser::OmpClause::UnifiedAddress, Fortran::parser::OmpClause::UnifiedSharedMemory, Fortran::parser::OmpClause::Uniform, Fortran::parser::OmpClause::Unknown, Fortran::parser::OmpClause::Untied, Fortran::parser::OmpClause::Update, Fortran::parser::OmpClause::Use, Fortran::parser::OmpClause::UseDeviceAddr, Fortran::parser::OmpClause::UseDevicePtr, Fortran::parser::OmpClause::UsesAllocators, Fortran::parser::OmpClause::Weak, Fortran::parser::OmpClause::When, Fortran::parser::OmpClause::Write> &>' requested here
   78 |     return Log2VisitHelper<0, high, Result>(std::forward<VISITOR>(visitor),
      |            ^
../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1386:27: note: in instantiation of function template specialization 'Fortran::common::log2visit::visit<Fortran::common::visitors<(lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1388:11), (lambda at ../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:1398:11)>, const std::variant<Fortran::parser::OmpClause::Absent, Fortran::parser::OmpClause::AcqRel, Fortran::parser::OmpClause::Acquire, Fortran::parser::OmpClause::AdjustArgs, Fortran::parser::OmpClause::Affinity, Fortran::parser::OmpClause::Align, Fortran::parser::OmpClause::Aligned, Fortran::parser::OmpClause::Allocate, Fortran::parser::OmpClause::Allocator, Fortran::parser::OmpClause::AppendArgs, Fortran::parser::OmpClause::At, Fortran::parser::OmpClause::AtomicDefaultMemOrder, Fortran::parser::OmpClause::Bind, Fortran::parser::OmpClause::CancellationConstructType, Fortran::parser::OmpClause::Capture, Fortran::parser::OmpClause::Collapse, Fortran::parser::OmpClause::Compare, Fortran::parser::OmpClause::Contains, Fortran::parser::OmpClause::Copyprivate, Fortran::parser::OmpClause::Copyin, Fortran::parser::OmpClause::Default, Fortran::parser::OmpClause::Defaultmap, Fortran::parser::OmpClause::Depend, Fortran::parser::OmpClause::Depobj, Fortran::parser::OmpClause::Destroy, Fortran::parser::OmpClause::Detach, Fortran::parser::OmpClause::Device, Fortran::parser::OmpClause::DeviceType, Fortran::parser::OmpClause::DistSchedule, Fortran::parser::OmpClause::Doacross, Fortran::parser::OmpClause::DynamicAllocators, Fortran::parser::OmpClause::Enter, Fortran::parser::OmpClause::Exclusive, Fortran::parser::OmpClause::Fail, Fortran::parser::OmpClause::Filter, Fortran::parser::OmpClause::Final, Fortran::parser::OmpClause::Firstprivate, Fortran::parser::OmpClause::Flush, Fortran::parser::OmpClause::From, Fortran::parser::OmpClause::Full, Fortran::parser::OmpClause::Grainsize, Fortran::parser::OmpClause::HasDeviceAddr, Fortran::parser::OmpClause::Hint, Fortran::parser::OmpClause::Holds, Fortran::parser::OmpClause::If, Fortran::parser::OmpClause::InReduction, Fortran::parser::OmpClause::Inbranch, Fortran::parser::OmpClause::Inclusive, Fortran::parser::OmpClause::Indirect, Fortran::parser::OmpClause::Init, Fortran::parser::OmpClause::IsDevicePtr, Fortran::parser::OmpClause::Lastprivate, Fortran::parser::OmpClause::Linear, Fortran::parser::OmpClause::Link, Fortran::parser::OmpClause::Map, Fortran::parser::OmpClause::Match, Fortran::parser::OmpClause::MemoryOrder, Fortran::parser::OmpClause::Mergeable, Fortran::parser::OmpClause::Message, Fortran::parser::OmpClause::Nogroup, Fortran::parser::OmpClause::NoOpenmp, Fortran::parser::OmpClause::NoOpenmpConstructs, Fortran::parser::OmpClause::NoOpenmpRoutines, Fortran::parser::OmpClause::NoParallelism, Fortran::parser::OmpClause::Nowait, Fortran::parser::OmpClause::Nocontext, Fortran::parser::OmpClause::Nontemporal, Fortran::parser::OmpClause::Notinbranch, Fortran::parser::OmpClause::Novariants, Fortran::parser::OmpClause::NumTasks, Fortran::parser::OmpClause::NumTeams, Fortran::parser::OmpClause::NumThreads, Fortran::parser::OmpClause::OmpxAttribute, Fortran::parser::OmpClause::OmpxBare, Fortran::parser::OmpClause::OmpxDynCgroupMem, Fortran::parser::OmpClause::Order, Fortran::parser::OmpClause::Ordered, Fortran::parser::OmpClause::Otherwise, Fortran::parser::OmpClause::Partial, Fortran::parser::OmpClause::Permutation, Fortran::parser::OmpClause::Priority, Fortran::parser::OmpClause::Private, Fortran::parser::OmpClause::ProcBind, Fortran::parser::OmpClause::Read, Fortran::parser::OmpClause::Reduction, Fortran::parser::OmpClause::Relaxed, Fortran::parser::OmpClause::Release, Fortran::parser::OmpClause::ReverseOffload, Fortran::parser::OmpClause::Safelen, Fortran::parser::OmpClause::Schedule, Fortran::parser::OmpClause::SeqCst, Fortran::parser::OmpClause::Severity, Fortran::parser::OmpClause::Shared, Fortran::parser::OmpClause::Simd, Fortran::parser::OmpClause::Simdlen, Fortran::parser::OmpClause::Sizes, Fortran::parser::OmpClause::TaskReduction, Fortran::parser::OmpClause::ThreadLimit, Fortran::parser::OmpClause::Threadprivate, Fortran::parser::OmpClause::Threads, Fortran::parser::OmpClause::To, Fortran::parser::OmpClause::UnifiedAddress, Fortran::parser::OmpClause::UnifiedSharedMemory, Fortran::parser::OmpClause::Uniform, Fortran::parser::OmpClause::Unknown, Fortran::parser::OmpClause::Untied, Fortran::parser::OmpClause::Update, Fortran::parser::OmpClause::Use, Fortran::parser::OmpClause::UseDeviceAddr, Fortran::parser::OmpClause::UseDevicePtr, Fortran::parser::OmpClause::UsesAllocators, Fortran::parser::OmpClause::Weak, Fortran::parser::OmpClause::When, Fortran::parser::OmpClause::Write> &>' requested here
 1386 |   return Fortran::common::visit( //
      |                           ^
../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:194:1: note: candidate function not viable: no known conversion from 'const Fortran::parser::OmpClause::NoOpenmpConstructs' to 'const parser::OmpClause::AcqRel' for 1st argument
  194 | MAKE_EMPTY_CLASS(AcqRel, AcqRel);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:175:7: note: expanded from macro 'MAKE_EMPTY_CLASS'
  175 |   cls make(const parser::OmpClause::from_cls &,                                \
      |       ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:195:1: note: candidate function not viable: no known conversion from 'const Fortran::parser::OmpClause::NoOpenmpConstructs' to 'const parser::OmpClause::Acquire' for 1st argument
  195 | MAKE_EMPTY_CLASS(Acquire, Acquire);
      | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:175:7: note: expanded from macro 'MAKE_EMPTY_CLASS'
  175 |   cls make(const parser::OmpClause::from_cls &,                                \
      |       ^    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../llvm-project/flang/lib/Lower/OpenMP/Clauses.cpp:196:1: note: candidate function not viable: no known conversion from 'const Fortran::parser::OmpClause::NoOpenmpConstructs' to 'const parser::OmpClause::Capture' for 1st argument
  196 | MAKE_EMPTY_CLASS(Capture, Capture);

```

</details>

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


More information about the cfe-commits mailing list