X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fident%2Fident.c;h=47838da79d691e2a6a6c61ac42cd671928858e99;hb=afbbc0b1ccd684c4c24bfd43d0f994123245f39f;hp=af6bc04b16f4dc03a04b622fc3f2376fec82a0fc;hpb=1ce363f80e6a204d4011f85813362d9bd1d0e7e4;p=libfirm diff --git a/ir/ident/ident.c b/ir/ident/ident.c index af6bc04b1..47838da79 100644 --- a/ir/ident/ident.c +++ b/ir/ident/ident.c @@ -29,6 +29,7 @@ #include #include +#include #include #include #include @@ -281,6 +282,7 @@ void init_ident(ident_if_t *id_if, int initial_n_idents) impl.get_id_wcslen = set_get_id_wcslen; #endif /* FIRM_ENABLE_WCHAR */ + /* it's ok to use memcmp here, we check only strings */ impl.handle = new_set(memcmp, initial_n_idents); } } @@ -337,6 +339,16 @@ int id_contains_char(ident *id, char c) return strchr(get_id_str(id), c) != NULL; } +ident *id_unique(const char *tag) +{ + static unsigned unique_id = 0; + char buf[256]; + + snprintf(buf, sizeof(buf), tag, unique_id); + unique_id++; + return new_id_from_str(buf); +} + #ifdef FIRM_ENABLE_WCHAR ident *new_id_from_wcs (const wchar_t *str)