fixed const mismatch
[libfirm] / ir / ana2 / qset.h
index c8a1f24..30ebde0 100644 (file)
@@ -1,7 +1,7 @@
 /* -*- c -*- */
 
 /*
- * Time-stamp: <11.11.2004 16:42:22h liekweg>
+ * Time-stamp: <30.11.2004 14:16:04h liekweg>
  * Project:     libFIRM
  * File name:   ir/ana2/qset.h
  * Purpose:     yet another set implementation
 /* typedef unsigned int sortable_t; */
 typedef void* sortable_t;
 
+struct obstack;                 /* forward decl */
+
 typedef struct qset_str
 {
+  struct obstack *obst;
   sortable_t *values;
   int n_slots;
   int n_elems;
@@ -40,8 +43,10 @@ typedef struct qset_str
 
 /* QSET INTERFACE */
 
-/* Allocate a new qset with initial space for up to n_elems. */
-qset_t *qset_new (const int);
+/* Allocate a new qset with initial space for up to n_elems.
+   If a non-NULL obstack is given, it is used for all allocations of this qset
+   and must be initialised and deleted by the user of the qset. */
+qset_t *qset_new (const int, struct obstack*);
 
 /* Sort the entries of the given qset. */
 void qset_sort (qset_t*);
@@ -58,11 +63,12 @@ int qset_contains (qset_t*, sortable_t);
 /* Delete the given value from the given qset (if it exists) */
 void qset_remove (qset_t*, sortable_t);
 
-/* Insert the given elem into the given qset. */
-void qset_insert (qset_t*, sortable_t);
+/* Insert the given elem into the given qset; return nonzero iff any involved values change. */
+int qset_insert (qset_t*, sortable_t);
 
-/* Insert all elems of qset2 into qset1. qset2 is deleted. */
-void qset_insert_all (qset_t*, qset_t*);
+/* Insert all elems of qset2 into qset1. qset2 is deleted; return
+   nonzero iff any involved values change. */
+int qset_insert_all (qset_t*, qset_t*);
 
 /* Compare two qsets. */
 int qset_compare (qset_t*, qset_t*);
@@ -91,6 +97,12 @@ sortable_t *qset_next (qset_t*);
 
 /*
  $Log$
+ Revision 1.5  2004/11/30 14:47:11  liekweg
+ insert report changes
+
+ Revision 1.4  2004/11/24 14:53:56  liekweg
+ Bugfixes
+
  Revision 1.3  2004/11/18 16:35:46  liekweg
  Added unique ids for debugging