Re: PING^1: [PATCH] C/C++: Add -Waddress-of-packed-member

2018-05-17 Thread H.J. Lu
On Mon, May 14, 2018 at 8:00 PM, Martin Sebor wrote: > On 05/14/2018 01:10 PM, H.J. Lu wrote: >> >> On Mon, May 14, 2018 at 10:40 AM, H.J. Lu wrote: >> >> $ cat c.i >> struct B { int i; }; >> struct C { struct B b; } __attribute__ ((packed));

Re: PING^1: [PATCH] C/C++: Add -Waddress-of-packed-member

2018-05-14 Thread Martin Sebor
On 05/14/2018 01:10 PM, H.J. Lu wrote: On Mon, May 14, 2018 at 10:40 AM, H.J. Lu wrote: $ cat c.i struct B { int i; }; struct C { struct B b; } __attribute__ ((packed)); long* g8 (struct C *p) { return p; } $ gcc -O2 -S c.i -Wno-incompatible-pointer-types c.i: In

Re: PING^1: [PATCH] C/C++: Add -Waddress-of-packed-member

2018-05-14 Thread H.J. Lu
On Mon, May 14, 2018 at 10:40 AM, H.J. Lu wrote: $ cat c.i struct B { int i; }; struct C { struct B b; } __attribute__ ((packed)); long* g8 (struct C *p) { return p; } $ gcc -O2 -S c.i -Wno-incompatible-pointer-types c.i: In function ‘g8’:

Re: PING^1: [PATCH] C/C++: Add -Waddress-of-packed-member

2018-05-14 Thread H.J. Lu
On Mon, May 14, 2018 at 9:18 AM, Martin Sebor wrote: > On 05/14/2018 07:44 AM, H.J. Lu wrote: >> >> On Wed, Apr 25, 2018 at 7:54 PM, H.J. Lu wrote: >>> >>> When address of packed member of struct or union is taken, it may result >>> in an unaligned pointer

Re: PING^1: [PATCH] C/C++: Add -Waddress-of-packed-member

2018-05-14 Thread Martin Sebor
On 05/14/2018 07:44 AM, H.J. Lu wrote: On Wed, Apr 25, 2018 at 7:54 PM, H.J. Lu wrote: When address of packed member of struct or union is taken, it may result in an unaligned pointer value. This patch adds -Waddress-of-packed-member to check alignment at pointer

PING^1: [PATCH] C/C++: Add -Waddress-of-packed-member

2018-05-14 Thread H.J. Lu
On Wed, Apr 25, 2018 at 7:54 PM, H.J. Lu wrote: > When address of packed member of struct or union is taken, it may result > in an unaligned pointer value. This patch adds -Waddress-of-packed-member > to check alignment at pointer assignment and warn unaligned address as >