X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Ftr%2Fmangle.c;h=d1210db103f2ad2e9ef8a34658b5f2f4256b82c2;hb=e05c39b81949eb6454a8d9e2374ddd2d1cec076d;hp=3c14b0fa44874785260ed7033352ccd9e6cf945d;hpb=e3e22fa6f927847099c0bff62457003aa81f2518;p=libfirm diff --git a/ir/tr/mangle.c b/ir/tr/mangle.c index 3c14b0fa4..d1210db10 100644 --- a/ir/tr/mangle.c +++ b/ir/tr/mangle.c @@ -11,6 +11,7 @@ # include #endif +# include "xprintf.h" # include "mangle.h" # include # include "obst.h" @@ -59,6 +60,34 @@ mangle_type (type *type) return res; } +/* Returns a new ident that represents firstscnd. */ +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; +} + +/* Returns a new ident that represents first_scnd. */ +ident *mangle_u (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)