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

2018-01-20 Thread H.J. Lu
On Sat, Jan 20, 2018 at 9:50 AM, H.J. Lu wrote: > On Sat, Jan 20, 2018 at 8:31 AM, H.J. Lu wrote: >> On Fri, Jan 19, 2018 at 7:57 PM, Martin Sebor wrote: >>> On 01/19/2018 10:14 AM, Martin Sebor wrote: >> >>> After reading the Clang code review for the warning >>> (https://reviews.llvm.org/

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

2018-01-20 Thread H.J. Lu
On Sat, Jan 20, 2018 at 8:31 AM, H.J. Lu wrote: > On Fri, Jan 19, 2018 at 7:57 PM, Martin Sebor wrote: >> On 01/19/2018 10:14 AM, Martin Sebor wrote: >>> > >> After reading the Clang code review for the warning >> (https://reviews.llvm.org/D20561) and experimenting with a few >> more test cases I

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

2018-01-20 Thread H.J. Lu
On Fri, Jan 19, 2018 at 7:57 PM, Martin Sebor wrote: > On 01/19/2018 10:14 AM, Martin Sebor wrote: >> >> On 01/14/2018 07:29 AM, 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-pack

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

2018-01-19 Thread Martin Sebor
On 01/19/2018 10:14 AM, Martin Sebor wrote: On 01/14/2018 07:29 AM, 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 warn it: $ cat x.i struct pair_t { char c; int i; } __att

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

2018-01-19 Thread Martin Sebor
On 01/14/2018 07:29 AM, 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 warn it: $ cat x.i struct pair_t { char c; int i; } __attribute__ ((packed)); extern struct pair_t p;

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

2018-01-17 Thread H.J. Lu
On Mon, Jan 15, 2018 at 7:02 AM, H.J. Lu wrote: > On Mon, Jan 15, 2018 at 1:42 AM, Jakub Jelinek wrote: >> On Sun, Jan 14, 2018 at 06:29:54AM -0800, H.J. Lu wrote: >>> + if (TREE_CODE (field) == FIELD_DECL && DECL_PACKED (field)) >>> + { >>> + tree field_type = TREE_TYPE (

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

2018-01-15 Thread H.J. Lu
On Mon, Jan 15, 2018 at 1:42 AM, Jakub Jelinek wrote: > On Sun, Jan 14, 2018 at 06:29:54AM -0800, H.J. Lu wrote: >> + if (TREE_CODE (field) == FIELD_DECL && DECL_PACKED (field)) >> + { >> + tree field_type = TREE_TYPE (field); >> + unsigned int type_align = TYPE_A

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

2018-01-15 Thread Jakub Jelinek
On Sun, Jan 14, 2018 at 06:29:54AM -0800, H.J. Lu wrote: > + if (TREE_CODE (field) == FIELD_DECL && DECL_PACKED (field)) > + { > + tree field_type = TREE_TYPE (field); > + unsigned int type_align = TYPE_ALIGN (field_type); > + tree context = DECL_CONTEXT