This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [v2 of PATCH 06/14] Strip location wrappers in operand_equal_p


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]