Missing files.
authorChristoph Mallon <christoph.mallon@gmx.de>
Wed, 5 Dec 2007 20:26:34 +0000 (20:26 +0000)
committerChristoph Mallon <christoph.mallon@gmx.de>
Wed, 5 Dec 2007 20:26:34 +0000 (20:26 +0000)
[r18618]

types.c [new file with mode: 0644]
types.h [new file with mode: 0644]

diff --git a/types.c b/types.c
new file mode 100644 (file)
index 0000000..53b78b5
--- /dev/null
+++ b/types.c
@@ -0,0 +1,65 @@
+#include "type_t.h"
+#include "types.h"
+
+
+type_t *type_char;
+type_t *type_double;
+type_t *type_float;
+type_t *type_int;
+type_t *type_long_double;
+type_t *type_long_long;
+type_t *type_long;
+type_t *type_short;
+type_t *type_signed_char;
+type_t *type_string;
+type_t *type_unsigned_int;
+type_t *type_unsigned_long_long;
+type_t *type_unsigned_long;
+type_t *type_void;
+
+type_t *type_int_ptr;
+type_t *type_long_long_ptr;
+type_t *type_long_ptr;
+type_t *type_short_ptr;
+type_t *type_signed_char_ptr;
+type_t *type_void_ptr;
+
+type_t *type_intmax_t;
+type_t *type_ptrdiff_t;
+type_t *type_size_t;
+type_t *type_ssize_t;
+type_t *type_uintmax_t;
+type_t *type_uptrdiff_t;
+type_t *type_wchar_t;
+type_t *type_wint_t;
+
+type_t *type_intmax_t_ptr;
+type_t *type_ptrdiff_t_ptr;
+type_t *type_ssize_t_ptr;
+type_t *type_wchar_t_ptr;
+
+
+void init_basic_types(void)
+{
+       type_signed_char        = make_atomic_type(ATOMIC_TYPE_SCHAR,       TYPE_QUALIFIER_NONE);
+       type_short              = make_atomic_type(ATOMIC_TYPE_SHORT,       TYPE_QUALIFIER_NONE);
+       type_int                = make_atomic_type(ATOMIC_TYPE_INT,         TYPE_QUALIFIER_NONE);
+       type_unsigned_int       = make_atomic_type(ATOMIC_TYPE_UINT,        TYPE_QUALIFIER_NONE);
+       type_long               = make_atomic_type(ATOMIC_TYPE_LONG,        TYPE_QUALIFIER_NONE);
+       type_unsigned_long      = make_atomic_type(ATOMIC_TYPE_ULONG,       TYPE_QUALIFIER_NONE);
+       type_long_long          = make_atomic_type(ATOMIC_TYPE_LONGLONG,    TYPE_QUALIFIER_NONE);
+       type_unsigned_long_long = make_atomic_type(ATOMIC_TYPE_ULONGLONG,   TYPE_QUALIFIER_NONE);
+       type_long_double        = make_atomic_type(ATOMIC_TYPE_LONG_DOUBLE, TYPE_QUALIFIER_NONE);
+       type_double             = make_atomic_type(ATOMIC_TYPE_DOUBLE,      TYPE_QUALIFIER_NONE);
+       type_float              = make_atomic_type(ATOMIC_TYPE_FLOAT,       TYPE_QUALIFIER_NONE);
+       type_char               = make_atomic_type(ATOMIC_TYPE_CHAR,        TYPE_QUALIFIER_NONE);
+       type_void               = make_atomic_type(ATOMIC_TYPE_VOID,        TYPE_QUALIFIER_NONE);
+
+       type_void_ptr           = make_pointer_type(type_void,              TYPE_QUALIFIER_NONE);
+       type_string             = make_pointer_type(type_char,              TYPE_QUALIFIER_NONE);
+       type_signed_char_ptr    = make_pointer_type(type_signed_char,       TYPE_QUALIFIER_NONE);
+       type_short_ptr          = make_pointer_type(type_short,             TYPE_QUALIFIER_NONE);
+       type_int_ptr            = make_pointer_type(type_int,               TYPE_QUALIFIER_NONE);
+       type_long_ptr           = make_pointer_type(type_long,              TYPE_QUALIFIER_NONE);
+       type_long_long_ptr      = make_pointer_type(type_long_long,         TYPE_QUALIFIER_NONE);
+}
diff --git a/types.h b/types.h
new file mode 100644 (file)
index 0000000..debdfef
--- /dev/null
+++ b/types.h
@@ -0,0 +1,44 @@
+#ifndef TYPES_H
+#define TYPES_H
+
+#include "type.h"
+
+extern type_t *type_char;
+extern type_t *type_double;
+extern type_t *type_float;
+extern type_t *type_int;
+extern type_t *type_long_double;
+extern type_t *type_long_long;
+extern type_t *type_long;
+extern type_t *type_short;
+extern type_t *type_signed_char;
+extern type_t *type_string;
+extern type_t *type_unsigned_int;
+extern type_t *type_unsigned_long_long;
+extern type_t *type_unsigned_long;
+extern type_t *type_void;
+
+extern type_t *type_int_ptr;
+extern type_t *type_long_long_ptr;
+extern type_t *type_long_ptr;
+extern type_t *type_short_ptr;
+extern type_t *type_signed_char_ptr;
+extern type_t *type_void_ptr;
+
+extern type_t *type_intmax_t;
+extern type_t *type_ptrdiff_t;
+extern type_t *type_size_t;
+extern type_t *type_ssize_t;
+extern type_t *type_uintmax_t;
+extern type_t *type_uptrdiff_t;
+extern type_t *type_wchar_t;
+extern type_t *type_wint_t;
+
+extern type_t *type_intmax_t_ptr;
+extern type_t *type_ptrdiff_t_ptr;
+extern type_t *type_ssize_t_ptr;
+extern type_t *type_wchar_t_ptr;
+
+void init_basic_types(void);
+
+#endif