added size and alignment for float and double
[libfirm] / ir / common / common.c
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.c:
8 */
9
10 #ifdef HAVE_CONFIG_H
11 # include <config.h>
12 #endif
13
14 #include "common.h"
15 #include "irgraph.h"
16
17 /* returns the kind of the thing */
18 firm_kind
19 get_kind (void *firm_thing) {
20   assert (firm_thing);
21   return *(firm_kind *)firm_thing;
22 }
23
24
25 const char* print_firm_kind(void *firm_thing) {
26   assert (firm_thing);
27   switch (*(firm_kind *)firm_thing) {
28     case k_entity: { return "k_enitity"; } break;
29     case k_type: { return "k_type"; } break;
30 #if 0
31     case k_type_class: { return "k_type_class"; } break;
32     case k_type_strct: { return "k_type_strct:"; } break;
33     case k_type_method: { return "k_type_method:"; } break;
34     case k_type_union: { return "k_type_union"; } break;
35     case k_type_array: { return "k_type_array"; } break;
36     case k_type_enumeration: { return "k_type_enumeration"; } break;
37     case k_type_pointer: { return "k_type_pointer"; } break;
38     case k_type_primitive: { return "k_type_primitive"; } break;
39 #endif
40     case k_ir_node: { return "k_ir_node"; } break;
41   }
42   return "";
43 }