Some access routines for visited flags in entity.h, irnode.h,
[libfirm] / ir / tr / mangle.c
index 7706b0f..2ac4532 100644 (file)
@@ -5,6 +5,8 @@
 **
 */
 
+/* $Id$ */
+
 #ifdef HAVE_CONFIG_H
 # include <config.h>
 #endif
@@ -47,7 +49,7 @@ mangle_type (type *type)
   ident *res;
 
   assert (type->kind == k_type);
-  assert (type->type_op->code == tpo_class);
+  /* assert (type->type_op->code == tpo_class); */
 
   xoprintf (&mangle_obst, "%I", type->name);
   len = obstack_object_size (&mangle_obst);
@@ -57,6 +59,19 @@ mangle_type (type *type)
   return res;
 }
 
+/* Returns a new ident that represents first_scnd. */
+ident *mangle (ident *first, ident* scnd) {
+  char *cp;
+  int len;
+  ident *res;
+
+  xoprintf (&mangle_obst, "%I_%I",  first, scnd);
+  len = obstack_object_size (&mangle_obst);
+  cp = obstack_finish (&mangle_obst);
+  res = id_from_str (cp, len);
+  obstack_free (&mangle_obst, cp);
+  return res;
+}
 
 void
 init_mangle (void)