1 /* Header file for thread safety analysis.
2 Copyright (C) 2007, 2008, 2009, 2010, 2011 Free Software Foundation, Inc.
3 Contributed by Le-Chun Wu <lcwu@google.com>.
5 This file is part of GCC.
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)
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.
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/>. */
22 #ifndef TREE_THREADSAFE_ANALYZE_H
23 #define TREE_THREADSAFE_ANALYZE_H
25 /* Maximum length (in bytes) of a lock name string */
26 #define LOCK_NAME_LEN 64
28 /* Defined in tree-threadsafe-analyze.c */
29 extern tree
get_canonical_lock_expr (tree
, tree
, bool, tree
);
30 extern void clean_up_threadsafe_analysis (void);
31 extern struct pointer_map_t
*lock_acquired_after_map
;
32 extern struct pointer_map_t
*unbound_lock_map
;
33 extern const char* dump_expr_tree (tree lock
, char *out_buf
);
34 extern tree
get_leftmost_base_var (tree
);
35 /* True if the parser is currently parsing a lock attribute. */
36 extern bool parsing_lock_attribute
;
39 #endif /* TREE_THREADSAFE_ANALYZE_H */