| OLD | NEW |
| 1 /* A splay-tree datatype. | 1 /* A splay-tree datatype. |
| 2 Copyright 1998, 1999, 2000, 2002, 2005, 2007, 2009, 2010 | 2 Copyright 1998, 1999, 2000, 2002, 2005, 2007, 2009, 2010 |
| 3 Free Software Foundation, Inc. | 3 Free Software Foundation, Inc. |
| 4 Contributed by Mark Mitchell (mark@markmitchell.com). | 4 Contributed by Mark Mitchell (mark@markmitchell.com). |
| 5 | 5 |
| 6 This file is part of GCC. | 6 This file is part of GCC. |
| 7 | 7 |
| 8 GCC is free software; you can redistribute it and/or modify it | 8 GCC is free software; you can redistribute it and/or modify it |
| 9 under the terms of the GNU General Public License as published by | 9 under the terms of the GNU General Public License as published by |
| 10 the Free Software Foundation; either version 2, or (at your option) | 10 the Free Software Foundation; either version 2, or (at your option) |
| (...skipping 19 matching lines...) Expand all Loading... |
| 30 | 30 |
| 31 #ifndef _SPLAY_TREE_H | 31 #ifndef _SPLAY_TREE_H |
| 32 #define _SPLAY_TREE_H | 32 #define _SPLAY_TREE_H |
| 33 | 33 |
| 34 #ifdef __cplusplus | 34 #ifdef __cplusplus |
| 35 extern "C" { | 35 extern "C" { |
| 36 #endif /* __cplusplus */ | 36 #endif /* __cplusplus */ |
| 37 | 37 |
| 38 #include "ansidecl.h" | 38 #include "ansidecl.h" |
| 39 | 39 |
| 40 #ifndef _WIN64 | 40 #ifdef HAVE_STDINT_H |
| 41 typedef unsigned long int libi_uhostptr_t; | 41 #include <stdint.h> |
| 42 typedef long int libi_shostptr_t; | |
| 43 #else | |
| 44 #ifdef __GNUC__ | |
| 45 __extension__ | |
| 46 #endif | 42 #endif |
| 47 typedef unsigned long long libi_uhostptr_t; | 43 #ifdef HAVE_INTTYPES_H |
| 48 #ifdef __GNUC__ | 44 #include <inttypes.h> |
| 49 __extension__ | |
| 50 #endif | |
| 51 typedef long long libi_shostptr_t; | |
| 52 #endif | 45 #endif |
| 53 | 46 |
| 54 #ifndef GTY | 47 #ifndef GTY |
| 55 #define GTY(X) | 48 #define GTY(X) |
| 56 #endif | 49 #endif |
| 57 | 50 |
| 58 /* Use typedefs for the key and data types to facilitate changing | 51 /* Use typedefs for the key and data types to facilitate changing |
| 59 these types, if necessary. These types should be sufficiently wide | 52 these types, if necessary. These types should be sufficiently wide |
| 60 that any pointer or scalar can be cast to these types, and then | 53 that any pointer or scalar can be cast to these types, and then |
| 61 cast back, without loss of precision. */ | 54 cast back, without loss of precision. */ |
| 62 typedef libi_uhostptr_t splay_tree_key; | 55 typedef uintptr_t splay_tree_key; |
| 63 typedef libi_uhostptr_t splay_tree_value; | 56 typedef uintptr_t splay_tree_value; |
| 64 | 57 |
| 65 /* Forward declaration for a node in the tree. */ | 58 /* Forward declaration for a node in the tree. */ |
| 66 typedef struct splay_tree_node_s *splay_tree_node; | 59 typedef struct splay_tree_node_s *splay_tree_node; |
| 67 | 60 |
| 68 /* The type of a function which compares two splay-tree keys. The | 61 /* The type of a function which compares two splay-tree keys. The |
| 69 function should return values as for qsort. */ | 62 function should return values as for qsort. */ |
| 70 typedef int (*splay_tree_compare_fn) (splay_tree_key, splay_tree_key); | 63 typedef int (*splay_tree_compare_fn) (splay_tree_key, splay_tree_key); |
| 71 | 64 |
| 72 /* The type of a function used to deallocate any resources associated | 65 /* The type of a function used to deallocate any resources associated |
| 73 with the key. */ | 66 with the key. */ |
| (...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 159 extern splay_tree_node splay_tree_min (splay_tree); | 152 extern splay_tree_node splay_tree_min (splay_tree); |
| 160 extern int splay_tree_foreach (splay_tree, splay_tree_foreach_fn, void*); | 153 extern int splay_tree_foreach (splay_tree, splay_tree_foreach_fn, void*); |
| 161 extern int splay_tree_compare_ints (splay_tree_key, splay_tree_key); | 154 extern int splay_tree_compare_ints (splay_tree_key, splay_tree_key); |
| 162 extern int splay_tree_compare_pointers (splay_tree_key, splay_tree_key); | 155 extern int splay_tree_compare_pointers (splay_tree_key, splay_tree_key); |
| 163 | 156 |
| 164 #ifdef __cplusplus | 157 #ifdef __cplusplus |
| 165 } | 158 } |
| 166 #endif /* __cplusplus */ | 159 #endif /* __cplusplus */ |
| 167 | 160 |
| 168 #endif /* _SPLAY_TREE_H */ | 161 #endif /* _SPLAY_TREE_H */ |
| OLD | NEW |