GCC Middle and Back End API Reference
Main Page
Namespaces
Data Structures
Files
File List
Globals
tree-hasher.h
Go to the documentation of this file.
1
/* Hash Table Helper for Trees
2
Copyright (C) 2012 Free Software Foundation, Inc.
3
Contributed by Lawrence Crowl <crowl@google.com>
4
5
This file is part of GCC.
6
7
GCC is free software; you can redistribute it and/or modify
8
it under the terms of the GNU General Public License as published by
9
the Free Software Foundation; either version 3, or (at your option)
10
any later version.
11
12
GCC is distributed in the hope that it will be useful,
13
but WITHOUT ANY WARRANTY; without even the implied warranty of
14
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
GNU General Public License for more details.
16
17
You should have received a copy of the GNU General Public License
18
along with GCC; see the file COPYING3. If not see
19
<http://www.gnu.org/licenses/>. */
20
21
#ifndef GCC_TREE_HASHER_H
22
#define GCC_TREE_HASHER_H 1
23
24
#include "
hash-table.h
"
25
26
struct
int_tree_map
{
27
unsigned
int
uid
;
28
tree
to
;
29
};
30
31
/* Hashtable helpers. */
32
33
struct
int_tree_hasher
:
typed_free_remove
<int_tree_map>
34
{
35
typedef
int_tree_map
value_type
;
36
typedef
int_tree_map
compare_type
;
37
static
inline
hashval_t
hash
(
const
value_type
*);
38
static
inline
bool
equal
(
const
value_type
*,
const
compare_type
*);
39
};
40
41
/* Hash a UID in a int_tree_map. */
42
43
inline
hashval_t
44
int_tree_hasher::hash
(
const
value_type *item)
45
{
46
return
item->uid;
47
}
48
49
/* Return true if the uid in both int tree maps are equal. */
50
51
inline
bool
52
int_tree_hasher::equal
(
const
value_type *a,
const
compare_type *b)
53
{
54
return
(a->uid == b->uid);
55
}
56
57
typedef
hash_table <int_tree_hasher>
int_tree_htab_type
;
58
59
#endif
/* GCC_TREE_HASHER_H */
gcc
tree-hasher.h
Generated by
1.8.1.1