]> gcc.gnu.org Git - gcc.git/commitdiff
error.c (dump_simple_decl): New function, broken out from ...
authorMark Mitchell <mmitchell@usa.net>
Tue, 12 May 1998 07:23:31 +0000 (07:23 +0000)
committerMark Mitchell <mmitchel@gcc.gnu.org>
Tue, 12 May 1998 07:23:31 +0000 (07:23 +0000)
* error.c (dump_simple_decl): New function, broken out from ...
(dump_decl): Use it.

From-SVN: r19694

gcc/cp/ChangeLog
gcc/cp/error.c

index 2146cb90edc744ed86af91bdb93204a244e0e50f..79a5c44ac84ec961787b66408025ddd86cfe19b3 100644 (file)
@@ -1,3 +1,8 @@
+Tue May 12 07:24:18 1998  Mark Mitchell  <mmitchell@usa.net>
+
+       * error.c (dump_simple_decl): New function, broken out from ...
+       (dump_decl): Use it.
+
 Mon May 11 11:38:07 1998  Mark Mitchell  <mmitchell@usa.net>
 
        * ptree.c (lang_print_xnode): Add missing `break'.
index cbb9927dc3f2bf74befca496eb8537e9a0d6c43c..1f068da56cc763a28b079c95d58133d52a383af7 100644 (file)
@@ -90,6 +90,7 @@ enum pad { none, before, after };
 
 static void dump_type PROTO((tree, int));
 static void dump_type_real PROTO((tree, int, int));
+static void dump_simple_decl PROTO((tree, tree, int));
 static void dump_decl PROTO((tree, int));
 static void dump_function_decl PROTO((tree, int));
 static void dump_expr PROTO((tree, int));
@@ -645,6 +646,33 @@ dump_global_iord (t)
   OB_PUTC (')');
 }
 
+static void
+dump_simple_decl (t, type, v)
+     tree t;
+     tree type;
+     int v;
+{
+  if (v > 0)
+    {
+      dump_type_prefix (type, v, 0);
+      OB_PUTC (' ');
+      dump_readonly_or_volatile (t, after);
+    }
+  /* DECL_CLASS_CONTEXT isn't being set in some cases.  Hmm...  */
+  if (DECL_CONTEXT (t)
+      && TREE_CODE_CLASS (TREE_CODE (DECL_CONTEXT (t))) == 't')
+    {
+      dump_type (DECL_CONTEXT (t), 0);
+      OB_PUTC2 (':', ':');
+    }
+  if (DECL_NAME (t))
+    dump_decl (DECL_NAME (t), v);
+  else
+    OB_PUTS ("{anon}");
+  if (v > 0)
+    dump_type_suffix (type, v, 0);
+}
+
 static void
 dump_decl (t, v)
      tree t;
@@ -674,7 +702,8 @@ dump_decl (t, v)
       }
       if (v > 0)
        OB_PUTS ("typedef ");
-      goto general;
+      dump_simple_decl (t, DECL_ORIGINAL_TYPE (t) 
+                       ? DECL_ORIGINAL_TYPE (t) : TREE_TYPE (t), v);
       break;
       
     case VAR_DECL:
@@ -687,26 +716,7 @@ dump_decl (t, v)
       /* else fall through */
     case FIELD_DECL:
     case PARM_DECL:
-    general:
-      if (v > 0)
-       {
-         dump_type_prefix (TREE_TYPE (t), v, 0);
-         OB_PUTC (' ');
-         dump_readonly_or_volatile (t, after);
-       }
-      /* DECL_CLASS_CONTEXT isn't being set in some cases.  Hmm...  */
-      if (DECL_CONTEXT (t)
-         && TREE_CODE_CLASS (TREE_CODE (DECL_CONTEXT (t))) == 't')
-       {
-         dump_type (DECL_CONTEXT (t), 0);
-         OB_PUTC2 (':', ':');
-       }
-      if (DECL_NAME (t))
-       dump_decl (DECL_NAME (t), v);
-      else
-       OB_PUTS ("{anon}");
-      if (v > 0)
-       dump_type_suffix (TREE_TYPE (t), v, 0);
+      dump_simple_decl (t, TREE_TYPE (t), v);
       break;
 
     case NAMESPACE_DECL:
@@ -875,7 +885,7 @@ dump_decl (t, v)
       if ((TREE_TYPE (t) != NULL_TREE && NEXT_CODE (t) == ENUMERAL_TYPE)
          || (DECL_INITIAL (t) &&
              TREE_CODE (DECL_INITIAL (t)) == TEMPLATE_PARM_INDEX))
-       goto general;
+       dump_simple_decl (t, TREE_TYPE (t), v);
       else if (DECL_NAME (t))
        dump_decl (DECL_NAME (t), v);
       else if (DECL_INITIAL (t))
This page took 0.082987 seconds and 5 git commands to generate.