[llvm] [OpenMP] Fix build error after 19857baa71 (PR #211771)

Krzysztof Parzyszek via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 24 04:40:51 PDT 2026


https://github.com/kparzysz created https://github.com/llvm/llvm-project/pull/211771

```
llvm/include/llvm/Frontend/OpenMP/OMP.h:138:14: error: ‘Base’ has not been declared
  138 |   assert(Set.Base::test(At));
      |              ^~~~
```

>From a32487bdf527ef07300262e8426c48d5bafd247a Mon Sep 17 00:00:00 2001
From: Krzysztof Parzyszek <Krzysztof.Parzyszek at amd.com>
Date: Fri, 24 Jul 2026 06:38:00 -0500
Subject: [PATCH] [OpenMP] Fix build error after 19857baa71
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

llvm/include/llvm/Frontend/OpenMP/OMP.h:138:14: error: ‘Base’ has not been declared
  138 |   assert(Set.Base::test(At));
      |              ^~~~
---
 llvm/include/llvm/Frontend/OpenMP/OMP.h | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/llvm/include/llvm/Frontend/OpenMP/OMP.h b/llvm/include/llvm/Frontend/OpenMP/OMP.h
index 21f806b5d41c6..742fdda2026bf 100644
--- a/llvm/include/llvm/Frontend/OpenMP/OMP.h
+++ b/llvm/include/llvm/Frontend/OpenMP/OMP.h
@@ -135,7 +135,8 @@ struct EnumSet : public llvm::Bitset<Size> {
 namespace detail {
 template <typename Enum, size_t Size>
 constexpr Enum EnumSetIterator<Enum, Size>::operator*() const {
-  assert(Set.Base::test(At));
+  // Older gcc doesn't like assert(Set.Base::test(At));
+  assert((static_cast<const EnumSet<Enum, Size> &>(Set).test(At)));
   return static_cast<Enum>(At);
 }
 



More information about the llvm-commits mailing list