add explicit types for the visited flag and the exception regions
[libfirm] / include / libfirm / firm_types.h
1 /*
2  * Copyright (C) 1995-2007 University of Karlsruhe.  All right reserved.
3  *
4  * This file is part of libFirm.
5  *
6  * This file may be distributed and/or modified under the terms of the
7  * GNU General Public License version 2 as published by the Free Software
8  * Foundation and appearing in the file LICENSE.GPL included in the
9  * packaging of this file.
10  *
11  * Licensees holding valid libFirm Professional Edition licenses may use
12  * this file in accordance with the libFirm Commercial License.
13  * Agreement provided with the Software.
14  *
15  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
16  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
17  * PURPOSE.
18  */
19
20 /**
21  * @file
22  * @brief      Definition of opaque firm types
23  * @author     Michael Beck
24  * @version    $Id$
25  */
26 #ifndef FIRM_COMMON_FIRM_TYPES_H
27 #define FIRM_COMMON_FIRM_TYPES_H
28
29 #ifdef _MSC_VER
30 typedef          __int64 long64;
31 typedef unsigned __int64 ulong64;
32
33 #define LL_FMT  "i64"
34 #define ULL_FMT "ui64"
35
36 #else
37 typedef          long long long64;
38 typedef unsigned long long ulong64;
39
40 #define LL_FMT  "ll"
41 #define ULL_FMT "llu"
42
43 #endif /* _MSC_VER */
44
45 typedef long          ir_visited_t;
46 typedef unsigned long ir_exc_region_t;
47
48 typedef struct dbg_info             dbg_info,            *dbg_info_ptr;
49 typedef const struct _ident         ident,               *ir_ident_ptr;
50 typedef struct ir_node              ir_node,             *ir_node_ptr;
51 typedef struct ir_op                ir_op,               *ir_op_ptr;
52 typedef struct ir_mode              ir_mode,             *ir_mode_ptr;
53 typedef struct _ir_edge_t           ir_edge_t,           *ir_edge_ptr;
54 typedef struct tarval               tarval,              *ir_tarval_ptr;
55 typedef struct ir_enum_const        ir_enum_const,       *ir_enum_const_ptr;
56 typedef struct ir_type              ir_type,             *ir_type_ptr;
57 typedef struct ir_graph             ir_graph,            *ir_graph_ptr;
58 typedef struct ir_loop              ir_loop,             *ir_loop_ptr;
59 typedef struct ir_region            ir_region,           *ir_region_ptr;
60 typedef struct ir_reg_tree          ir_reg_tree,         *ir_reg_tree_ptr;
61 typedef struct ir_entity            ir_entity,           *ir_entity_ptr;
62 typedef struct compound_graph_path  compound_graph_path, *ir_compound_graph_path_ptr;
63 typedef struct _ir_phase            ir_phase,            *ir_phase_ptr;
64 typedef struct _ir_extblk           ir_extblk,           *ir_extblk_ptr;
65 typedef struct ir_exec_freq         ir_exec_freq,        *ir_exec_freq_ptr;
66 typedef struct sn_entry             *seqno_t;
67
68
69 typedef void irg_walk_func(ir_node *, void *);
70 typedef void irg_reg_walk_func(ir_region *, void *);
71
72 #endif