X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=ir%2Fobstack%2Fobstack.c;h=f801d06972900e1523ad4c7cae62fb53eb72a1aa;hb=2c8cc375a52fbfb9bdf15ebed6278a6d7b23a6ff;hp=6d11674f1b068585cd879a2e60a8d5627c5ac46b;hpb=be2960bc9ccda691eba3a031ec3a37d480c07f01;p=libfirm diff --git a/ir/obstack/obstack.c b/ir/obstack/obstack.c index 6d11674f1..f801d0697 100644 --- a/ir/obstack/obstack.c +++ b/ir/obstack/obstack.c @@ -26,7 +26,7 @@ longer properly call the functions in this obstack.c. */ #define OBSTACK_INTERFACE_VERSION 1 -#include /* Random thing to get __GNU_LIBRARY__. */ +#include #include #include @@ -82,7 +82,7 @@ int obstack_exit_failure = EXIT_FAILURE; # define CALL_CHUNKFUN(h, size) \ (((h) -> use_extra_arg) \ ? (*(h)->chunkfun) ((h)->extra_arg, (size)) \ - : (*(struct _obstack_chunk *(*) (long)) (h)->chunkfun) ((size))) + : (*(struct _obstack_chunk *(*) (PTR_INT_TYPE)) (h)->chunkfun) ((size))) # define CALL_FREEFUN(h, old_chunk) \ do { \ @@ -101,11 +101,8 @@ int obstack_exit_failure = EXIT_FAILURE; Return nonzero if successful, calls obstack_alloc_failed_handler if allocation fails. */ -int -_obstack_begin (struct obstack *h, - int size, int alignment, - void *(*chunkfun) (long), - void (*freefun) (void *)) +int _obstack_begin(struct obstack *h, int size, int alignment, + void *(*chunkfun)(PTR_INT_TYPE), void (*freefun)(void *)) { register struct _obstack_chunk *chunk; /* points to new chunk */ @@ -128,7 +125,7 @@ _obstack_begin (struct obstack *h, size = 4096 - extra; } - h->chunkfun = (struct _obstack_chunk * (*)(void *, long)) chunkfun; + h->chunkfun = (struct _obstack_chunk * (*)(void *, PTR_INT_TYPE)) chunkfun; h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; h->chunk_size = size; h->alignment_mask = alignment - 1; @@ -148,11 +145,9 @@ _obstack_begin (struct obstack *h, return 1; } -int -_obstack_begin_1 (struct obstack *h, int size, int alignment, - void *(*chunkfun) (void *, long), - void (*freefun) (void *, void *), - void *arg) +int _obstack_begin_1(struct obstack *h, int size, int alignment, + void *(*chunkfun) (void *, PTR_INT_TYPE), + void (*freefun) (void *, void *), void *arg) { register struct _obstack_chunk *chunk; /* points to new chunk */ @@ -175,7 +170,7 @@ _obstack_begin_1 (struct obstack *h, int size, int alignment, size = 4096 - extra; } - h->chunkfun = (struct _obstack_chunk * (*)(void *,long)) chunkfun; + h->chunkfun = (struct _obstack_chunk * (*)(void *,PTR_INT_TYPE)) chunkfun; h->freefun = (void (*) (void *, struct _obstack_chunk *)) freefun; h->chunk_size = size; h->alignment_mask = alignment - 1; @@ -202,15 +197,14 @@ _obstack_begin_1 (struct obstack *h, int size, int alignment, Copies any partial object from the end of the old chunk to the beginning of the new one. */ -void -_obstack_newchunk (struct obstack *h, int length) +void _obstack_newchunk(struct obstack *h, PTR_INT_TYPE length) { register struct _obstack_chunk *old_chunk = h->chunk; register struct _obstack_chunk *new_chunk; - register long new_size; - register long obj_size = h->next_free - h->object_base; - register long i; - long already; + register PTR_INT_TYPE new_size; + register PTR_INT_TYPE obj_size = h->next_free - h->object_base; + register PTR_INT_TYPE i; + PTR_INT_TYPE already; char *object_base; /* Compute size for new chunk. */ @@ -276,11 +270,10 @@ _obstack_newchunk (struct obstack *h, int length) obstack.h because it is just for debugging. */ int _obstack_allocated_p (struct obstack *h, void *obj); -int -_obstack_allocated_p (struct obstack *h, void *obj) +int _obstack_allocated_p(struct obstack *h, void *obj) { - register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ - register struct _obstack_chunk *plp; /* point to previous chunk if any */ + register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ + register struct _obstack_chunk *plp; /* point to previous chunk if any */ lp = (h)->chunk; /* We use >= rather than > since the object cannot be exactly at @@ -299,11 +292,10 @@ _obstack_allocated_p (struct obstack *h, void *obj) # undef obstack_free -void -obstack_free (struct obstack *h, void *obj) +void obstack_free(struct obstack *h, void *obj) { - register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ - register struct _obstack_chunk *plp; /* point to previous chunk if any */ + register struct _obstack_chunk *lp; /* below addr of any objects in this chunk */ + register struct _obstack_chunk *plp; /* point to previous chunk if any */ lp = h->chunk; /* We use >= because there cannot be an object at the beginning of a chunk. @@ -329,11 +321,10 @@ obstack_free (struct obstack *h, void *obj) abort (); } -int -_obstack_memory_used (struct obstack *h) +PTR_INT_TYPE _obstack_memory_used(struct obstack *h) { register struct _obstack_chunk* lp; - register int nbytes = 0; + register PTR_INT_TYPE nbytes = 0; for (lp = h->chunk; lp != 0; lp = lp->prev) { @@ -342,9 +333,7 @@ _obstack_memory_used (struct obstack *h) return nbytes; } -static void -__attribute__ ((noreturn)) -print_and_abort (void) +static void __attribute__((noreturn)) print_and_abort(void) { /* Don't change any of these strings. Yes, it would be possible to add the newline to the string and use fputs or so. But this must not