[C++ Patch, obvious] Consistently use INDIRECT_REF_P

Paolo Carlini paolo.carlini@oracle.com
Wed Aug 21 18:19:00 GMT 2013


Hi,

earlier today noticed three spots where we don't use the existing 
INDIRECT_REF_P predicate. I think the patch qualifies as obvious, and 
I'm going to apply it later today.

Thanks,
Paolo.

/////////////////////////
-------------- next part --------------
2013-08-21  Paolo Carlini  <paolo.carlini@oracle.com>

	* call.c (build_new_method_call_1): Use INDIRECT_REF_P.
	* cp-tree.h (REFERENCE_REF_P): Likewise.
	* semantics.c (finish_offsetof): Likewise.
-------------- next part --------------
Index: cp/call.c
===================================================================
--- cp/call.c	(revision 201902)
+++ cp/call.c	(working copy)
@@ -7668,7 +7668,7 @@ build_new_method_call_1 (tree instance, tree fns,
 
       if (init)
 	{
-	  if (TREE_CODE (instance) == INDIRECT_REF
+	  if (INDIRECT_REF_P (instance)
 	      && integer_zerop (TREE_OPERAND (instance, 0)))
 	    return get_target_expr_sfinae (init, complain);
 	  init = build2 (INIT_EXPR, TREE_TYPE (instance), instance, init);
Index: cp/cp-tree.h
===================================================================
--- cp/cp-tree.h	(revision 201902)
+++ cp/cp-tree.h	(working copy)
@@ -2975,7 +2975,7 @@ extern void decl_shadowed_for_var_insert (tree, tr
 
 /* True if NODE is an implicit INDIRECT_EXPR from convert_from_reference.  */
 #define REFERENCE_REF_P(NODE)				\
-  (TREE_CODE (NODE) == INDIRECT_REF			\
+  (INDIRECT_REF_P (NODE)				\
    && TREE_TYPE (TREE_OPERAND (NODE, 0))		\
    && (TREE_CODE (TREE_TYPE (TREE_OPERAND ((NODE), 0)))	\
        == REFERENCE_TYPE))
Index: cp/semantics.c
===================================================================
--- cp/semantics.c	(revision 201902)
+++ cp/semantics.c	(working copy)
@@ -3691,7 +3693,7 @@ finish_offsetof (tree expr)
       || TREE_CODE (TREE_TYPE (expr)) == METHOD_TYPE
       || TREE_TYPE (expr) == unknown_type_node)
     {
-      if (TREE_CODE (expr) == INDIRECT_REF)
+      if (INDIRECT_REF_P (expr))
 	error ("second operand of %<offsetof%> is neither a single "
 	       "identifier nor a sequence of member accesses and "
 	       "array references");


More information about the Gcc-patches mailing list