- create an error type
[cparser] / types.h
1 #ifndef TYPES_H
2 #define TYPES_H
3
4 #include "type.h"
5
6 extern type_t *type_error_type;
7
8 extern type_t *type_char;
9 extern type_t *type_double;
10 extern type_t *type_float;
11 extern type_t *type_int;
12 extern type_t *type_long_double;
13 extern type_t *type_long_long;
14 extern type_t *type_long;
15 extern type_t *type_short;
16 extern type_t *type_signed_char;
17 extern type_t *type_string;
18 extern type_t *type_unsigned_int;
19 extern type_t *type_unsigned_long_long;
20 extern type_t *type_unsigned_long;
21 extern type_t *type_void;
22
23 extern type_t *type_int_ptr;
24 extern type_t *type_long_long_ptr;
25 extern type_t *type_long_ptr;
26 extern type_t *type_short_ptr;
27 extern type_t *type_signed_char_ptr;
28 extern type_t *type_void_ptr;
29
30 extern type_t *type_intmax_t;
31 extern type_t *type_ptrdiff_t;
32 extern type_t *type_size_t;
33 extern type_t *type_ssize_t;
34 extern type_t *type_uintmax_t;
35 extern type_t *type_uptrdiff_t;
36 extern type_t *type_wchar_t;
37 extern type_t *type_wint_t;
38
39 extern type_t *type_intmax_t_ptr;
40 extern type_t *type_ptrdiff_t_ptr;
41 extern type_t *type_ssize_t_ptr;
42 extern type_t *type_wchar_t_ptr;
43
44 void init_basic_types(void);
45
46 #define is_type_valid(type) ((type)->kind != TYPE_ERROR)
47
48 #endif