Avoid code duplication in cp_tree_[operand|code]_length
authorPatrick Palka <ppalka@gcc.gnu.org>
Thu, 17 Dec 2015 03:46:27 +0000 (03:46 +0000)
committerPatrick Palka <ppalka@gcc.gnu.org>
Thu, 17 Dec 2015 03:46:27 +0000 (03:46 +0000)
gcc/cp/ChangeLog:

* tree.c (cp_tree_operand_length): Define in terms of
cp_tree_code_length.

From-SVN: r231735

gcc/cp/ChangeLog
gcc/cp/tree.c

index 1ffa6eb..91bc456 100644 (file)
@@ -1,3 +1,8 @@
+2015-12-16  Patrick Palka  <ppalka@gcc.gnu.org>
+
+       * tree.c (cp_tree_operand_length): Define in terms of
+       cp_tree_code_length.
+
 2015-12-16  Martin Sebor  <msebor@redhat.com>
 
        PR objc++/68932
index 0c0987d..ae176d0 100644 (file)
@@ -4427,23 +4427,10 @@ cp_tree_operand_length (const_tree t)
 {
   enum tree_code code = TREE_CODE (t);
 
-  switch (code)
-    {
-    case PREINCREMENT_EXPR:
-    case PREDECREMENT_EXPR:
-    case POSTINCREMENT_EXPR:
-    case POSTDECREMENT_EXPR:
-      return 1;
+  if (TREE_CODE_CLASS (code) == tcc_vl_exp)
+    return VL_EXP_OPERAND_LENGTH (t);
 
-    case ARRAY_REF:
-      return 2;
-
-    case EXPR_PACK_EXPANSION:
-      return 1;
-
-    default:
-      return TREE_OPERAND_LENGTH (t);
-    }
+  return cp_tree_code_length (code);
 }
 
 /* Like cp_tree_operand_length, but takes a tree_code CODE.  */