merge from gcc
This commit is contained in:
		| @@ -64,12 +64,12 @@ struct objalloc_align { char x; double d; }; | ||||
|  | ||||
| /* Create an objalloc structure.  Returns NULL if malloc fails.  */ | ||||
|  | ||||
| extern struct objalloc *objalloc_create PARAMS ((void)); | ||||
| extern struct objalloc *objalloc_create (void); | ||||
|  | ||||
| /* Allocate space from an objalloc structure.  Returns NULL if malloc | ||||
|    fails.  */ | ||||
|  | ||||
| extern PTR _objalloc_alloc PARAMS ((struct objalloc *, unsigned long)); | ||||
| extern PTR _objalloc_alloc (struct objalloc *, unsigned long); | ||||
|  | ||||
| /* The macro version of objalloc_alloc.  We only define this if using | ||||
|    gcc, because otherwise we would have to evaluate the arguments | ||||
| @@ -105,11 +105,11 @@ extern PTR _objalloc_alloc PARAMS ((struct objalloc *, unsigned long)); | ||||
|  | ||||
| /* Free an entire objalloc structure.  */ | ||||
|  | ||||
| extern void objalloc_free PARAMS ((struct objalloc *)); | ||||
| extern void objalloc_free (struct objalloc *); | ||||
|  | ||||
| /* Free a block allocated by objalloc_alloc.  This also frees all more | ||||
|    recently allocated blocks.  */ | ||||
|  | ||||
| extern void objalloc_free_block PARAMS ((struct objalloc *, PTR)); | ||||
| extern void objalloc_free_block (struct objalloc *, PTR); | ||||
|  | ||||
| #endif /* OBJALLOC_H */ | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| /* obstack.h - object stack macros | ||||
|    Copyright 1988, 1989, 1990, 1991, 1992, 1993, 1994, 1996, 1997, 1998, | ||||
|    1999, 2000 | ||||
|    1999, 2000, 2001, 2002, 2003, 2004, 2005 | ||||
|    Free Software Foundation, Inc. | ||||
|  | ||||
|  | ||||
| @@ -145,11 +145,7 @@ extern "C" { | ||||
|  | ||||
| #if defined _LIBC || defined HAVE_STRING_H | ||||
| # include <string.h> | ||||
| # if defined __STDC__ && __STDC__ | ||||
| #  define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) | ||||
| # else | ||||
| #  define _obstack_memcpy(To, From, N) memcpy ((To), (char *)(From), (N)) | ||||
| # endif | ||||
| # define _obstack_memcpy(To, From, N) memcpy ((To), (From), (N)) | ||||
| #else | ||||
| # ifdef memcpy | ||||
| #  define _obstack_memcpy(To, From, N) memcpy ((To), (char *)(From), (N)) | ||||
| @@ -174,18 +170,12 @@ struct obstack		/* control current object in current chunk */ | ||||
|   char	*chunk_limit;		/* address of char after current chunk */ | ||||
|   PTR_INT_TYPE temp;		/* Temporary for some macros.  */ | ||||
|   int   alignment_mask;		/* Mask of alignment for each object. */ | ||||
| #if defined __STDC__ && __STDC__ | ||||
|   /* These prototypes vary based on `use_extra_arg', and we use | ||||
|      casts to the prototypeless function type in all assignments, | ||||
|      but having prototypes here quiets -Wstrict-prototypes.  */ | ||||
|   struct _obstack_chunk *(*chunkfun) (void *, long); | ||||
|   void (*freefun) (void *, struct _obstack_chunk *); | ||||
|   void *extra_arg;		/* first arg for chunk alloc/dealloc funcs */ | ||||
| #else | ||||
|   struct _obstack_chunk *(*chunkfun) (); /* User's fcn to allocate a chunk.  */ | ||||
|   void (*freefun) ();		/* User's function to free a chunk.  */ | ||||
|   char *extra_arg;		/* first arg for chunk alloc/dealloc funcs */ | ||||
| #endif | ||||
|   unsigned use_extra_arg:1;	/* chunk alloc/dealloc funcs take extra arg */ | ||||
|   unsigned maybe_empty_object:1;/* There is a possibility that the current | ||||
| 				   chunk contains a zero-length object.  This | ||||
| @@ -198,7 +188,6 @@ struct obstack		/* control current object in current chunk */ | ||||
|  | ||||
| /* Declare the external functions we use; they are in obstack.c.  */ | ||||
|  | ||||
| #if defined __STDC__ && __STDC__ | ||||
| extern void _obstack_newchunk (struct obstack *, int); | ||||
| extern void _obstack_free (struct obstack *, void *); | ||||
| extern int _obstack_begin (struct obstack *, int, int, | ||||
| @@ -207,16 +196,7 @@ extern int _obstack_begin_1 (struct obstack *, int, int, | ||||
| 			     void *(*) (void *, long), | ||||
| 			     void (*) (void *, void *), void *); | ||||
| extern int _obstack_memory_used (struct obstack *); | ||||
| #else | ||||
| extern void _obstack_newchunk (); | ||||
| extern void _obstack_free (); | ||||
| extern int _obstack_begin (); | ||||
| extern int _obstack_begin_1 (); | ||||
| extern int _obstack_memory_used (); | ||||
| #endif | ||||
|  | ||||
| #if defined __STDC__ && __STDC__ | ||||
|  | ||||
| /* Do the function-declarations after the structs | ||||
|    but before defining the macros.  */ | ||||
|  | ||||
| @@ -255,19 +235,10 @@ int obstack_alignment_mask (struct obstack *obstack); | ||||
| int obstack_chunk_size (struct obstack *obstack); | ||||
| int obstack_memory_used (struct obstack *obstack); | ||||
|  | ||||
| #endif /* __STDC__ */ | ||||
|  | ||||
| /* Non-ANSI C cannot really support alternative functions for these macros, | ||||
|    so we do not declare them.  */ | ||||
|  | ||||
| /* Error handler called when `obstack_chunk_alloc' failed to allocate | ||||
|    more memory.  This can be set to a user defined function.  The | ||||
|    default action is to print a message and abort.  */ | ||||
| #if defined __STDC__ && __STDC__ | ||||
| extern void (*obstack_alloc_failed_handler) (void); | ||||
| #else | ||||
| extern void (*obstack_alloc_failed_handler) (); | ||||
| #endif | ||||
|  | ||||
| /* Exit value used when `print_and_abort' is used.  */ | ||||
| extern int obstack_exit_failure; | ||||
| @@ -292,8 +263,6 @@ extern int obstack_exit_failure; | ||||
|  | ||||
| /* To prevent prototype warnings provide complete argument list in | ||||
|    standard C version.  */ | ||||
| #if defined __STDC__ && __STDC__ | ||||
|  | ||||
| # define obstack_init(h) \ | ||||
|   _obstack_begin ((h), 0, 0, \ | ||||
| 		  (void *(*) (long)) obstack_chunk_alloc, (void (*) (void *)) obstack_chunk_free) | ||||
| @@ -317,32 +286,6 @@ extern int obstack_exit_failure; | ||||
| # define obstack_freefun(h, newfreefun) \ | ||||
|   ((h) -> freefun = (void (*)(void *, struct _obstack_chunk *)) (newfreefun)) | ||||
|  | ||||
| #else | ||||
|  | ||||
| # define obstack_init(h) \ | ||||
|   _obstack_begin ((h), 0, 0, \ | ||||
| 		  (void *(*) ()) obstack_chunk_alloc, (void (*) ()) obstack_chunk_free) | ||||
|  | ||||
| # define obstack_begin(h, size) \ | ||||
|   _obstack_begin ((h), (size), 0, \ | ||||
| 		  (void *(*) ()) obstack_chunk_alloc, (void (*) ()) obstack_chunk_free) | ||||
|  | ||||
| # define obstack_specify_allocation(h, size, alignment, chunkfun, freefun) \ | ||||
|   _obstack_begin ((h), (size), (alignment), \ | ||||
| 		    (void *(*) ()) (chunkfun), (void (*) ()) (freefun)) | ||||
|  | ||||
| # define obstack_specify_allocation_with_arg(h, size, alignment, chunkfun, freefun, arg) \ | ||||
|   _obstack_begin_1 ((h), (size), (alignment), \ | ||||
| 		    (void *(*) ()) (chunkfun), (void (*) ()) (freefun), (arg)) | ||||
|  | ||||
| # define obstack_chunkfun(h, newchunkfun) \ | ||||
|   ((h) -> chunkfun = (struct _obstack_chunk *(*)()) (newchunkfun)) | ||||
|  | ||||
| # define obstack_freefun(h, newfreefun) \ | ||||
|   ((h) -> freefun = (void (*)()) (newfreefun)) | ||||
|  | ||||
| #endif | ||||
|  | ||||
| #define obstack_1grow_fast(h,achar) (*((h)->next_free)++ = (achar)) | ||||
|  | ||||
| #define obstack_blank_fast(h,n) ((h)->next_free += (n)) | ||||
| @@ -586,21 +529,12 @@ __extension__								\ | ||||
|   (h)->object_base = (h)->next_free,					\ | ||||
|   __INT_TO_PTR ((h)->temp)) | ||||
|  | ||||
| # if defined __STDC__ && __STDC__ | ||||
| #  define obstack_free(h,obj)						\ | ||||
| # define obstack_free(h,obj)						\ | ||||
| ( (h)->temp = (char *) (obj) - (char *) (h)->chunk,			\ | ||||
|   (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\ | ||||
|    ? (int) ((h)->next_free = (h)->object_base				\ | ||||
| 	    = (h)->temp + (char *) (h)->chunk)				\ | ||||
|    : (((obstack_free) ((h), (h)->temp + (char *) (h)->chunk), 0), 0))) | ||||
| # else | ||||
| #  define obstack_free(h,obj)						\ | ||||
| ( (h)->temp = (char *) (obj) - (char *) (h)->chunk,			\ | ||||
|   (((h)->temp > 0 && (h)->temp < (h)->chunk_limit - (char *) (h)->chunk)\ | ||||
|    ? (int) ((h)->next_free = (h)->object_base				\ | ||||
| 	    = (h)->temp + (char *) (h)->chunk)				\ | ||||
|    : (_obstack_free ((h), (h)->temp + (char *) (h)->chunk), 0))) | ||||
| # endif | ||||
|  | ||||
| #endif /* not __GNUC__ or not __STDC__ */ | ||||
|  | ||||
|   | ||||
| @@ -64,13 +64,10 @@ typedef struct partition_def | ||||
|   struct partition_elem elements[1]; | ||||
| } *partition; | ||||
|  | ||||
| extern partition partition_new          PARAMS((int)); | ||||
| extern void partition_delete            PARAMS((partition)); | ||||
| extern int partition_union              PARAMS((partition, | ||||
| 						int, | ||||
| 						int)); | ||||
| extern void partition_print             PARAMS((partition, | ||||
| 						FILE*)); | ||||
| extern partition partition_new (int); | ||||
| extern void partition_delete (partition); | ||||
| extern int partition_union (partition, int, int); | ||||
| extern void partition_print (partition,	FILE*); | ||||
|  | ||||
| /* Returns the canonical element corresponding to the class containing | ||||
|    ELEMENT__ in PARTITION__.  */ | ||||
|   | ||||
| @@ -52,30 +52,30 @@ typedef struct splay_tree_node_s *splay_tree_node; | ||||
|  | ||||
| /* The type of a function which compares two splay-tree keys.  The | ||||
|    function should return values as for qsort.  */ | ||||
| typedef int (*splay_tree_compare_fn) PARAMS((splay_tree_key, splay_tree_key)); | ||||
| typedef int (*splay_tree_compare_fn) (splay_tree_key, splay_tree_key); | ||||
|  | ||||
| /* The type of a function used to deallocate any resources associated | ||||
|    with the key.  */ | ||||
| typedef void (*splay_tree_delete_key_fn) PARAMS((splay_tree_key)); | ||||
| typedef void (*splay_tree_delete_key_fn) (splay_tree_key); | ||||
|  | ||||
| /* The type of a function used to deallocate any resources associated | ||||
|    with the value.  */ | ||||
| typedef void (*splay_tree_delete_value_fn) PARAMS((splay_tree_value)); | ||||
| typedef void (*splay_tree_delete_value_fn) (splay_tree_value); | ||||
|  | ||||
| /* The type of a function used to iterate over the tree.  */ | ||||
| typedef int (*splay_tree_foreach_fn) PARAMS((splay_tree_node, void*)); | ||||
| typedef int (*splay_tree_foreach_fn) (splay_tree_node, void*); | ||||
|  | ||||
| /* The type of a function used to allocate memory for tree root and | ||||
|    node structures.  The first argument is the number of bytes needed; | ||||
|    the second is a data pointer the splay tree functions pass through | ||||
|    to the allocator.  This function must never return zero.  */ | ||||
| typedef PTR (*splay_tree_allocate_fn) PARAMS((int, void *)); | ||||
| typedef PTR (*splay_tree_allocate_fn) (int, void *); | ||||
|  | ||||
| /* The type of a function used to free memory allocated using the | ||||
|    corresponding splay_tree_allocate_fn.  The first argument is the | ||||
|    memory to be freed; the latter is a data pointer the splay tree | ||||
|    functions pass through to the freer.  */ | ||||
| typedef void (*splay_tree_deallocate_fn) PARAMS((void *, void *)); | ||||
| typedef void (*splay_tree_deallocate_fn) (void *, void *); | ||||
|  | ||||
| /* The nodes in the splay tree.  */ | ||||
| struct splay_tree_node_s GTY(()) | ||||
| @@ -114,43 +114,28 @@ struct splay_tree_s GTY(()) | ||||
| }; | ||||
| typedef struct splay_tree_s *splay_tree; | ||||
|  | ||||
| extern splay_tree splay_tree_new        PARAMS((splay_tree_compare_fn, | ||||
| 					        splay_tree_delete_key_fn, | ||||
| 					        splay_tree_delete_value_fn)); | ||||
| extern splay_tree splay_tree_new_with_allocator | ||||
|                                         PARAMS((splay_tree_compare_fn, | ||||
| 					        splay_tree_delete_key_fn, | ||||
| extern splay_tree splay_tree_new        (splay_tree_compare_fn, | ||||
|                                          splay_tree_delete_key_fn, | ||||
|                                          splay_tree_delete_value_fn); | ||||
| extern splay_tree splay_tree_new_with_allocator (splay_tree_compare_fn, | ||||
|                                                  splay_tree_delete_key_fn, | ||||
| 					        splay_tree_delete_value_fn, | ||||
|                                                 splay_tree_allocate_fn, | ||||
|                                                 splay_tree_deallocate_fn, | ||||
|                                                 void *)); | ||||
| extern void splay_tree_delete           PARAMS((splay_tree)); | ||||
| extern splay_tree_node splay_tree_insert           | ||||
| 		                        PARAMS((splay_tree, | ||||
| 					        splay_tree_key, | ||||
| 					        splay_tree_value)); | ||||
| extern void splay_tree_remove		PARAMS((splay_tree, | ||||
| 						splay_tree_key)); | ||||
| extern splay_tree_node splay_tree_lookup    | ||||
|                                         PARAMS((splay_tree, | ||||
| 					        splay_tree_key)); | ||||
| extern splay_tree_node splay_tree_predecessor | ||||
|                                         PARAMS((splay_tree, | ||||
| 						splay_tree_key)); | ||||
| extern splay_tree_node splay_tree_successor | ||||
|                                         PARAMS((splay_tree, | ||||
| 						splay_tree_key)); | ||||
| extern splay_tree_node splay_tree_max | ||||
|                                         PARAMS((splay_tree)); | ||||
| extern splay_tree_node splay_tree_min | ||||
|                                         PARAMS((splay_tree)); | ||||
| extern int splay_tree_foreach           PARAMS((splay_tree, | ||||
| 					        splay_tree_foreach_fn, | ||||
| 					        void*)); | ||||
| extern int splay_tree_compare_ints      PARAMS((splay_tree_key, | ||||
| 						splay_tree_key)); | ||||
| extern int splay_tree_compare_pointers  PARAMS((splay_tree_key, | ||||
| 						splay_tree_key)); | ||||
|                                                  splay_tree_allocate_fn, | ||||
|                                                  splay_tree_deallocate_fn, | ||||
|                                                  void *); | ||||
| extern void splay_tree_delete           (splay_tree); | ||||
| extern splay_tree_node splay_tree_insert (splay_tree, | ||||
|                                           splay_tree_key, | ||||
|                                           splay_tree_value); | ||||
| extern void splay_tree_remove	(splay_tree, splay_tree_key); | ||||
| extern splay_tree_node splay_tree_lookup (splay_tree, splay_tree_key); | ||||
| extern splay_tree_node splay_tree_predecessor (splay_tree, splay_tree_key); | ||||
| extern splay_tree_node splay_tree_successor (splay_tree, splay_tree_key); | ||||
| extern splay_tree_node splay_tree_max (splay_tree); | ||||
| extern splay_tree_node splay_tree_min (splay_tree); | ||||
| extern int splay_tree_foreach (splay_tree, splay_tree_foreach_fn, void*); | ||||
| extern int splay_tree_compare_ints (splay_tree_key, splay_tree_key); | ||||
| extern int splay_tree_compare_pointers (splay_tree_key,	splay_tree_key); | ||||
| 					        | ||||
| #ifdef __cplusplus | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user