================
@@ -195,7 +199,8 @@ struct TypeInfo {
            AlignRequirementKind AlignRequirement)
       : Width(Width), Align(Align), AlignRequirement(AlignRequirement) {}
   bool isAlignRequired() {
-    return AlignRequirement != AlignRequirementKind::None;
+    return AlignRequirement != AlignRequirementKind::None &&
----------------
zahiraam wrote:

It's `RequiredByTypedef`: the `typedef`'s aligned attribute overrides 
`ResistPragmaPack`, so the field gets `32-byte` alignment regardless of 
`#pragma pack`, same as before this patch. I added tests for this and related 
`typedef` cases.

https://github.com/llvm/llvm-project/pull/208256
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to