OSDN Git Service

fix
[pf3gnuchains/gcc-fork.git] / gcc / cp / dump.c
index 7f73a30..f765c32 100644 (file)
@@ -214,7 +214,7 @@ cp_dump_tree (void* dump_info, tree t)
   if (DECL_P (t))
     {
       if (DECL_LANG_SPECIFIC (t) && DECL_LANGUAGE (t) != lang_cplusplus)
-       dump_string (di, language_to_string (DECL_LANGUAGE (t), 0));
+       dump_string (di, language_to_string (DECL_LANGUAGE (t)));
     }
 
   switch (code)
@@ -230,25 +230,15 @@ cp_dump_tree (void* dump_info, tree t)
          dump_child ("tynm", TREE_TYPE (t));
          return true;
        }
-      else if (t == anonymous_namespace_name)
-       {
-         dump_string (di, "unnamed");
-         return true;
-       }
       break;
 
-    case POINTER_TYPE:
-      if (TYPE_PTRMEM_P (t))
-       {
-         dump_string (di, "ptrmem");
-         dump_child ("ptd", TYPE_PTRMEM_POINTED_TO_TYPE (t));
-         dump_child ("cls", TYPE_PTRMEM_CLASS_TYPE (t));
-         return true;
-       }
-      break;
+    case OFFSET_TYPE:
+      dump_string (di, "ptrmem");
+      dump_child ("ptd", TYPE_PTRMEM_POINTED_TO_TYPE (t));
+      dump_child ("cls", TYPE_PTRMEM_CLASS_TYPE (t));
+      return true;
 
     case RECORD_TYPE:
-    case UNION_TYPE:
       if (TYPE_PTRMEMFUNC_P (t))
        {
          dump_string (di, "ptrmem");
@@ -256,7 +246,9 @@ cp_dump_tree (void* dump_info, tree t)
          dump_child ("cls", TYPE_PTRMEM_CLASS_TYPE (t));
          return true;
        }
+      /* Fall through.  */
 
+    case UNION_TYPE:
       /* Is it a type used as a base? */
       if (TYPE_CONTEXT (t) && TREE_CODE (TYPE_CONTEXT (t)) == TREE_CODE (t)
          && CLASSTYPE_AS_BASE (TYPE_CONTEXT (t)) == t)
@@ -374,14 +366,12 @@ cp_dump_tree (void* dump_info, tree t)
        dump_string (di, "cleanup");
       dump_child ("body", TRY_STMTS (t));
       dump_child ("hdlr", TRY_HANDLERS (t));
-      dump_next_stmt (di, t);
       break;
 
     case EH_SPEC_BLOCK:
       dump_stmt (di, t);
       dump_child ("body", EH_SPEC_STMTS (t));
       dump_child ("raises", EH_SPEC_RAISES (t));
-      dump_next_stmt (di, t);
       break;
 
     case PTRMEM_CST:
@@ -405,21 +395,32 @@ cp_dump_tree (void* dump_info, tree t)
       dump_stmt (di, t);
       dump_child ("parm", HANDLER_PARMS (t));
       dump_child ("body", HANDLER_BODY (t));
-      dump_next_stmt (di, t);
       break;
 
     case MUST_NOT_THROW_EXPR:
       dump_stmt (di, t);
       dump_child ("body", TREE_OPERAND (t, 0));
-      dump_next_stmt (di, t);
       break;
 
     case USING_STMT:
       dump_stmt (di, t);
       dump_child ("nmsp", USING_STMT_NAMESPACE (t));
-      dump_next_stmt (di, t);
       break;
-      
+
+    case CLEANUP_STMT:
+      dump_stmt (di, t);
+      dump_child ("decl", CLEANUP_DECL (t));
+      dump_child ("expr", CLEANUP_EXPR (t));
+      dump_child ("body", CLEANUP_BODY (t));
+      break;
+
+    case IF_STMT:
+      dump_stmt (di, t);
+      dump_child ("cond", IF_COND (t));
+      dump_child ("then", THEN_CLAUSE (t));
+      dump_child ("else", ELSE_CLAUSE (t));
+      break;
+
     default:
       break;
     }