Initial revision
[libfirm] / ir / common / common.h
1 /* Copyright (C) 1998 - 2000 by Universitaet Karlsruhe
2 ** All rights reserved.
3 **
4 ** Authors: Martin Trapp, Christian Schaefer &
5 **          Goetz Lindenmaier
6 **
7 ** common.h: common firm declarations
8 */
9
10 # ifndef _COMMON_H_
11 # define _COMMON_H_
12
13
14 /* set to compile with extensions for compiler constructon lab. */
15 # define UEBPRAKT 1
16
17 /* If this flag is set, new_r_Phi_in uses an explicit stack for
18    allocating and deallocating Phi nodes.  Else it uses the obstack
19    as a stack! */
20 #define USE_EXPICIT_PHI_IN_STACK 1
21
22 /* a list of firm kinds */
23 typedef enum {
24   k_entity,
25   k_type_class,
26   k_type_strct,
27   k_type_method,
28   k_type_union,
29   k_type_array,
30   k_type_enumeration,
31   k_type_pointer,
32   k_type_primitive,
33   k_ir_node
34 } firm_kind;
35
36 /* returns the kind of the thing */
37 firm_kind get_kind(void *firm_thing);
38
39
40 # endif /*_COMMON_H_ */