On 12/17/2017 09:07 PM, David Malcolm wrote:
On Mon, 2017-12-11 at 18:37 -0500, Jason Merrill wrote:
On 11/10/2017 04:45 PM, David Malcolm wrote:
gcc/c-family/ChangeLog:
        * c-warn.c (sizeof_pointer_memaccess_warning): Strip any
location
        wrappers from src and dest.

Here the existing calls to tree_strip_nop_conversions ought to
handle
the wrappers.

They don't; when EXP is a VIEW_CONVERT_EXPR wrapper around a VAR_DECL...

11887   static inline bool
11888   tree_nop_conversion (const_tree exp)
11889   {
11890     tree outer_type, inner_type;
11891   
11892     if (!CONVERT_EXPR_P (exp)
11893         && TREE_CODE (exp) != NON_LVALUE_EXPR)
11894       return false;

...tree_nop_conversion bails out at this "return false;", and hence
tree_strip_nop_conversions simply returns the wrapper that was passed
in.

Right.  So let's change tree_nop_conversion to return true.

Jason

Reply via email to