X-Git-Url: http://git.sourceforge.jp/view?a=blobdiff_plain;f=include%2Fsplay-tree.h;h=57a96c4a3de58a5504a931d4e19bc4eb0386a9da;hb=115133dd5f44ff1bfd39b8186874f43b5c39e370;hp=996d362ef83065c880b9b1f4213ce706b5dcaff2;hpb=01616473505751585701cb479c6ab020036cc02a;p=pf3gnuchains%2Fgcc-fork.git diff --git a/include/splay-tree.h b/include/splay-tree.h index 996d362ef83..57a96c4a3de 100644 --- a/include/splay-tree.h +++ b/include/splay-tree.h @@ -1,5 +1,6 @@ /* A splay-tree datatype. - Copyright 1998, 1999, 2000, 2002, 2007 Free Software Foundation, Inc. + Copyright 1998, 1999, 2000, 2002, 2005, 2007, 2009 + Free Software Foundation, Inc. Contributed by Mark Mitchell (mark@markmitchell.com). This file is part of GCC. @@ -37,11 +38,17 @@ extern "C" { #include "ansidecl.h" #ifndef _WIN64 - typedef unsigned long int libi_uhostptr_t; - typedef long int libi_shostptr_t; + typedef unsigned long int libi_uhostptr_t; + typedef long int libi_shostptr_t; #else +#ifdef __GNUC__ + __extension__ +#endif typedef unsigned long long libi_uhostptr_t; - typedef long long libi_shostptr_t; +#ifdef __GNUC__ + __extension__ +#endif + typedef long long libi_shostptr_t; #endif #ifndef GTY @@ -86,8 +93,7 @@ typedef void *(*splay_tree_allocate_fn) (int, void *); typedef void (*splay_tree_deallocate_fn) (void *, void *); /* The nodes in the splay tree. */ -struct splay_tree_node_s GTY(()) -{ +struct GTY(()) splay_tree_node_s { /* The key. */ splay_tree_key GTY ((use_param1)) key; @@ -100,8 +106,7 @@ struct splay_tree_node_s GTY(()) }; /* The splay tree itself. */ -struct splay_tree_s GTY(()) -{ +struct GTY(()) splay_tree_s { /* The root of the tree. */ splay_tree_node GTY ((use_params)) root; @@ -118,23 +123,23 @@ struct splay_tree_s GTY(()) splay_tree_allocate_fn allocate; splay_tree_deallocate_fn deallocate; void * GTY((skip)) allocate_data; - }; + typedef struct splay_tree_s *splay_tree; -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 (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 (splay_tree); + splay_tree_delete_key_fn, + splay_tree_delete_value_fn, + 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); + 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); @@ -144,7 +149,7 @@ 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 } #endif /* __cplusplus */