On Mon, Jul 23, 2018 at 2:24 PM, H.J. Lu <hjl.to...@gmail.com> wrote:
> On Mon, Jun 18, 2018 at 12:26 PM, Joseph Myers <jos...@codesourcery.com> 
> wrote:
>> On Mon, 18 Jun 2018, Jason Merrill wrote:
>>
>>> On Mon, Jun 18, 2018 at 11:59 AM, Joseph Myers <jos...@codesourcery.com> 
>>> wrote:
>>> > On Mon, 18 Jun 2018, Jason Merrill wrote:
>>> >
>>> >> > +  if (TREE_CODE (rhs) == COND_EXPR)
>>> >> > +    {
>>> >> > +      /* Check the THEN path first.  */
>>> >> > +      tree op1 = TREE_OPERAND (rhs, 1);
>>> >> > +      context = check_address_of_packed_member (type, op1);
>>> >>
>>> >> This should handle the GNU extension of re-using operand 0 if operand
>>> >> 1 is omitted.
>>> >
>>> > Doesn't that just use a SAVE_EXPR?
>>>
>>> Hmm, I suppose it does, but many places in the compiler seem to expect
>>> that it produces a COND_EXPR with TREE_OPERAND 1 as NULL_TREE.
>>
>> Maybe that's used somewhere inside the C++ front end.  For C a SAVE_EXPR
>> is produced directly.
>>
>
> Here is the updated patch.  Changes from the last one:
>
> 1. Handle COMPOUND_EXPR.
> 2. Fixed typos in comments.
> 3. Combined warn_for_pointer_of_packed_member and
> warn_for_address_of_packed_member into
> warn_for_address_or_pointer_of_packed_member.
>
> Tested on Linux/x86-64 and Linux/i686.  OK for trunk.
>

PING^1.


-- 
H.J.

Reply via email to