X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fadt%2Feset.c;h=453ad2b601eb33773878c306acde039b6f7408af;hb=822286302c8472f89a7e8492b11bd3a9c702c1fe;hp=53720d7d449dd965dafe8d5a036d0c1f8a698e88;hpb=974215da1a935f250766874d0f7a7ddfa34bc4ef;p=libfirm diff --git a/ir/adt/eset.c b/ir/adt/eset.c index 53720d7d4..453ad2b60 100644 --- a/ir/adt/eset.c +++ b/ir/adt/eset.c @@ -1,5 +1,5 @@ /* - * Copyright (C) 1995-2007 University of Karlsruhe. All right reserved. + * Copyright (C) 1995-2011 University of Karlsruhe. All right reserved. * * This file is part of libFirm. * @@ -24,9 +24,7 @@ * @date 09.06.2002 * @version $Id$ */ -#ifdef HAVE_CONFIG_H -# include "config.h" -#endif +#include "config.h" #include "eset.h" #include "set.h" @@ -39,20 +37,24 @@ struct eset { #define INITIAL_SLOTS 64 -static int pcmp(const void *p1, const void *p2, size_t size) { +static int pcmp(const void *p1, const void *p2, size_t size) +{ const void **q1 = (const void **)p1; const void **q2 = (const void **)p2; + (void) size; return *q1 != *q2; } -eset * eset_create(void) { +eset * eset_create(void) +{ return (eset *) new_set(pcmp, INITIAL_SLOTS); } -eset * eset_copy(eset *source) { +eset * eset_copy(eset *source) +{ eset * ret = eset_create(); void * p; for (p = eset_first(source); p; p = eset_next(source)) { @@ -62,40 +64,47 @@ eset * eset_copy(eset *source) { } -void eset_destroy(eset *s) { +void eset_destroy(eset *s) +{ del_set((set *)s); } /* Returns the number of elements in the set. */ -int eset_count(eset *s) { +size_t eset_count(eset *s) +{ return set_count((set *)s); } -void eset_insert(eset *s, void *p) { +void eset_insert(eset *s, void *p) +{ if (!eset_contains(s, p)) { set_insert((set *)s, &p, sizeof(p), HASH_PTR(p)); } } -int eset_contains(eset *s, void *p) { +int eset_contains(eset *s, void *p) +{ return set_find((set *)s, &p, sizeof(p), HASH_PTR(p)) != NULL; } -void * eset_first(eset *s) { +void * eset_first(eset *s) +{ void * p = set_first((set *) s); return p == NULL ? NULL : *((void **)p); } -void * eset_next(eset *s) { +void * eset_next(eset *s) +{ void *p = set_next((set *) s); return p == NULL ? NULL : *((void **)p); } -void eset_insert_all(eset *target, eset *source) { +void eset_insert_all(eset *target, eset *source) +{ void *p; for (p = eset_first(source); p; p = eset_next(source)) { eset_insert(target, p);