arphaman added a comment. Thanks for working on this!
This patch fixes a couple of our internal warnings that shouldn't be presented. I included a code sample that reproduces our warnings, would you mind adding some code to the test case that's similar to the sample below? typedef struct { uint32_t msgh_bits; uint32_t msgh_size; int32_t msgh_voucher_port; int32_t msgh_id; } S10Header; typedef struct { uint32_t t; uint64_t m; uint32_t p; union { struct { uint32_t a; double z; } __attribute__ ((aligned (8), packed)) a; struct { uint32_t b; double z; uint32_t a; } __attribute__ ((aligned (8), packed)) b; }; } __attribute__ ((aligned (8), packed)) S10Data; typedef struct { S10Header hdr; uint32_t size; uint8_t count; S10Data data[] __attribute__ ((aligned (8))); } __attribute__ ((aligned (8), packed)) S10; void foo(S10Header *hdr); void bar(S10 *s) { foo(&s->hdr); // No warning expected. } Btw, slightly off-topic, but I noticed that the declaration `DiagnoseMisalignedMembers` in the header has a doc comment that violates the 80 chars rule. I committed a fix in r283228. https://reviews.llvm.org/D23657 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits