[clang] [clang][CGRecordLayout] Remove dependency on isZeroSize (PR #96422)
David Blaikie via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 9 09:50:29 PDT 2024
================
@@ -185,6 +203,18 @@ CALL_AO(PackedMembers)
// CHECK: call void @llvm.memcpy.p0.p0.i64({{.*}} align 1 {{.*}} align 1 {{.*}}i64 16, i1 {{.*}})
// CHECK: ret ptr
+// WithEmptyField copy-assignment:
+// CHECK-LABEL: define linkonce_odr nonnull align {{[0-9]+}} dereferenceable({{[0-9]+}}) ptr @_ZN14WithEmptyFieldaSERKS_
+// CHECK: call void @llvm.memcpy.p0.p0.i64({{.*}} align 4 {{.*}} align 4 {{.*}}i64 4, i1 {{.*}})
----------------
dwblaikie wrote:
Sorry, jumping in here without a lot of context, but the change in `%struct.WithEmptyField` seems wrong, doesn't it? Like that is a change in layout/ABI break/bad thing? I guess I'm missing something about why that change in layout would be acceptable? (maybe padding - if NonPOD gets aligned, such that the structure isn't changing layout after all?)
https://github.com/llvm/llvm-project/pull/96422
More information about the cfe-commits
mailing list