[clang] [clang][bytecode] Fix virtual-bases.cpp on 32 bit hosts (PR #209766)

Timm Baeder via cfe-commits cfe-commits at lists.llvm.org
Wed Jul 15 07:30:13 PDT 2026


https://github.com/tbaederr updated https://github.com/llvm/llvm-project/pull/209766

>From 9748b9668b180bfb06bcf48b0e82940a40968cd6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Timm=20B=C3=A4der?= <tbaeder at redhat.com>
Date: Wed, 15 Jul 2026 16:10:07 +0200
Subject: [PATCH] [clang][bytecode] Fix virtual-bases.cpp on 32 bit hosts

---
 clang/test/AST/ByteCode/virtual-bases.cpp | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/clang/test/AST/ByteCode/virtual-bases.cpp b/clang/test/AST/ByteCode/virtual-bases.cpp
index d690598dc1a5a..38614cf9990c4 100644
--- a/clang/test/AST/ByteCode/virtual-bases.cpp
+++ b/clang/test/AST/ByteCode/virtual-bases.cpp
@@ -438,10 +438,17 @@ namespace Offsets {
 
   constexpr C c{12};
 #if !defined(_WIN32)
+#if __SIZEOF_SIZE_T__ == 8
   static_assert( (fold((char*)&c.c) - fold((char*)&c)) == 12);
   static_assert( (fold((char*)&c.b) - fold((char*)&c)) == 8);
   static_assert( (fold((char*)&c.a) - fold((char*)&c)) == 20);
   static_assert( (fold((char*)&c.x) - fold((char*)&c)) == 16);
+#else
+  static_assert( (fold((char*)&c.c) - fold((char*)&c)) == 8);
+  static_assert( (fold((char*)&c.b) - fold((char*)&c)) == 4);
+  static_assert( (fold((char*)&c.a) - fold((char*)&c)) == 16);
+  static_assert( (fold((char*)&c.x) - fold((char*)&c)) == 12);
+#endif
 # else
   static_assert( (fold((char*)&c.c) - fold((char*)&c)) == 16);
   static_assert( (fold((char*)&c.b) - fold((char*)&c)) == 8);



More information about the cfe-commits mailing list