[PATCH] D129369: [SystemZ][z/OS] Force alignment to fix build failure on z/OS

Abhina Sree via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 8 12:32:54 PDT 2022


abhina.sreeskantharajan updated this revision to Diff 443323.
abhina.sreeskantharajan added a comment.

Use alignas and remove assert.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D129369/new/

https://reviews.llvm.org/D129369

Files:
  llvm/include/llvm/IR/Metadata.h


Index: llvm/include/llvm/IR/Metadata.h
===================================================================
--- llvm/include/llvm/IR/Metadata.h
+++ llvm/include/llvm/IR/Metadata.h
@@ -951,7 +951,9 @@
   /// The operands are in turn located immediately before the header.
   /// For resizable MDNodes, the space for the storage vector is also allocated
   /// immediately before the header, overlapping with the operands.
-  struct Header {
+  struct alignas(alignof(size_t)) Header {
+    // Explicity set alignment on z/OS because bitfields by default
+    // have an alignment of 1.
     bool IsResizable : 1;
     bool IsLarge : 1;
     size_t SmallSize : 4;


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D129369.443323.patch
Type: text/x-patch
Size: 661 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220708/f4a6318a/attachment.bin>


More information about the llvm-commits mailing list