Typo fixed.
[libfirm] / ir / ir / irmode_t.h
1
2 /* $Id$ */
3
4 /**
5  * @file irmode_t.h
6  */
7
8 # ifndef _IRMODE_T_H_
9 # define _IRMODE_T_H_
10
11 # include "irmode.h"
12 # include "tv.h"
13
14 /** This struct is supposed to completely define a mode. **/
15 struct ir_mode {
16   firm_kind         kind;       /**< distinguishes this node from others */
17   modecode          code;       /**< unambiguous identifier of a mode */
18   ident             *name;      /**< Name ident of this mode */
19
20   /* ----------------------------------------------------------------------- */
21   /* On changing this struct you have to valuate the mode_are_equal function!*/
22   mode_sort         sort;       /**< coarse classification of this mode:
23                                      int, float, reference ...
24                                      (see irmode.h) */
25   mode_arithmetic   arithmetic; /**< different arithmetic operations possible with a mode */
26   int               size;       /**< size of the mode in Bits. */
27   int               align;      /**< byte alignment */
28   unsigned          sign:1;     /**< signedness of this mode */
29
30   /* ----------------------------------------------------------------------- */
31   tarval            *min;
32   tarval            *max;
33   tarval            *null;
34   tarval            *one;
35   void              *link;      /**< To store some intermediate information */
36   const void        *tv_priv;   /**< tarval module will save private data here */
37 };
38
39 #endif /* _IRMODE_T_H_ */