* cxx-pretty-print.c (get_fold_operator): Use OVL_OP_INFO.
authorJason Merrill <jason@redhat.com>
Wed, 30 Oct 2019 19:34:20 +0000 (15:34 -0400)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 30 Oct 2019 19:34:20 +0000 (15:34 -0400)
From-SVN: r277637

gcc/cp/ChangeLog
gcc/cp/cxx-pretty-print.c

index 3a5e4a5e3e775e981a0e3d1faf9febad0c16b84f..6808527d0f5c85f9cbd9a7f9e4fbc1a37a530f07 100644 (file)
@@ -1,3 +1,7 @@
+2019-10-30  Jason Merrill  <jason@redhat.com>
+
+       * cxx-pretty-print.c (get_fold_operator): Use OVL_OP_INFO.
+
 2019-10-30  Marek Polacek  <polacek@redhat.com>
 
        PR c++/92134 - constinit malfunction in static data member.
index 2a129a3bff7ccba034146b9cd4ac0122f30e9e94..8ece11d276e31d48ead7ccf9b4cccc75a0ce4506 100644 (file)
@@ -2551,52 +2551,8 @@ static char const*
 get_fold_operator (tree t)
 {
   int op = int_cst_value (FOLD_EXPR_OP (t));
-  if (FOLD_EXPR_MODIFY_P (t))
-    {
-      switch (op)
-        {
-        case NOP_EXPR: return "=";
-        case PLUS_EXPR: return "+=";
-        case MINUS_EXPR: return "-=";
-        case MULT_EXPR: return "*=";
-        case TRUNC_DIV_EXPR: return "/=";
-        case TRUNC_MOD_EXPR: return "%=";
-        case BIT_XOR_EXPR: return "^=";
-        case BIT_AND_EXPR: return "&=";
-        case BIT_IOR_EXPR: return "|=";
-        case LSHIFT_EXPR: return "<<=";
-        case RSHIFT_EXPR: return ">>=";
-        default: gcc_unreachable ();
-        }
-    }
-  else
-    {
-      switch (op)
-        {
-        case PLUS_EXPR: return "+";
-        case MINUS_EXPR: return "-";
-        case MULT_EXPR: return "*";
-        case TRUNC_DIV_EXPR: return "/";
-        case TRUNC_MOD_EXPR: return "%";
-        case BIT_XOR_EXPR: return "^";
-        case BIT_AND_EXPR: return "&";
-        case BIT_IOR_EXPR: return "|";
-        case LSHIFT_EXPR: return "<<";
-        case RSHIFT_EXPR: return ">>";
-        case EQ_EXPR: return "==";
-        case NE_EXPR: return "!=";
-        case LT_EXPR: return "<";
-        case GT_EXPR: return ">";
-        case LE_EXPR: return "<=";
-        case GE_EXPR: return ">=";
-        case TRUTH_ANDIF_EXPR: return "&&";
-        case TRUTH_ORIF_EXPR: return "||";
-        case MEMBER_REF: return "->*";
-        case DOTSTAR_EXPR: return ".*";
-        case OFFSET_REF: return ".*";
-        default: return ","; /* FIXME: Not the right default.  */
-        }
-    }
+  ovl_op_info_t *info = OVL_OP_INFO (FOLD_EXPR_MODIFY_P (t), op);
+  return info->name;
 }
 
 void