3 <!-- This HTML file has been created by texi2html 1.54
4 from suif1.texi on 28 April 1999 -->
6 <TITLE>The SUIF Version
1 Library - Predefined Types
</TITLE>
7 <link href=
"suif1_69.html" rel=Next
>
8 <link href=
"suif1_67.html" rel=Previous
>
9 <link href=
"suif1_toc.html" rel=ToC
>
13 <p>Go to the
<A HREF=
"suif1_1.html">first
</A>,
<A HREF=
"suif1_67.html">previous
</A>,
<A HREF=
"suif1_69.html">next
</A>,
<A HREF=
"suif1_113.html">last
</A> section,
<A HREF=
"suif1_toc.html">table of contents
</A>.
17 <H2><A NAME=
"SEC68" HREF=
"suif1_toc.html#TOC68">Predefined Types
</A></H2>
24 The global symbol table (see section
<A HREF=
"suif1_42.html#SEC42">The Global Symbol Table
</A>) is initialized
25 with some predefined types. The SUIF library also defines a number of
26 variables containing pointers to these predefined types, so that you
27 don't need to search the symbol tables for most commonly-used types.
28 The first set of predefined types are fixed-size scalar types:
33 <DT><CODE>type_v0
</CODE>
36 This is a
<CODE>void
</CODE> type with size zero.
38 <DT><CODE>type_s8
</CODE>
41 <DT><CODE>type_s16
</CODE>
44 <DT><CODE>type_s32
</CODE>
47 <DT><CODE>type_s64
</CODE>
50 These are signed integer types of
8,
16,
32, and
64 bits.
52 <DT><CODE>type_u8
</CODE>
55 <DT><CODE>type_u16
</CODE>
58 <DT><CODE>type_u32
</CODE>
61 <DT><CODE>type_u64
</CODE>
64 These are unsigned integer types of
8,
16,
32, and
64 bits.
66 <DT><CODE>type_f32
</CODE>
69 <DT><CODE>type_f64
</CODE>
72 <DT><CODE>type_f128
</CODE>
75 These are floating-point types of
32,
64, and
128 bits.
77 <DT><CODE>type_error
</CODE>
80 This variable is just set to
<CODE>NULL
</CODE>. It may be used to represent
81 various error conditions.
85 Because the fixed-size types do not necessarily match the target machine
86 parameters (see section
<A HREF=
"suif1_103.html#SEC103">Target Machine Parameters
</A>), they should rarely be
87 used. Instead the SUIF library also predefines pointers to types that
88 correspond to the most common C types. These
"portable" types are
89 automatically initialized using the target machine parameters.
94 <DT><CODE>type_void
</CODE>
97 Since
<CODE>void
</CODE> types always have a size of zero, this type is
98 equivalent to
<CODE>type_v0
</CODE>, but it is included for completeness.
100 <DT><CODE>type_ptr
</CODE>
102 <A NAME=
"IDX527"></A>
103 This type is a pointer to
<CODE>type_void
</CODE>. Like all other pointer
104 types, it automatically has the size of pointers on the target machine.
106 <DT><CODE>type_char
</CODE>
108 <A NAME=
"IDX528"></A>
109 This is an integer type with the size specified for
<CODE>C_char
</CODE> types
110 in the target machine parameters. The
<CODE>char_is_signed
</CODE> machine
111 parameter determines whether it is signed or unsigned.
113 <DT><CODE>type_signed_char
</CODE>
115 <A NAME=
"IDX529"></A>
116 <DT><CODE>type_unsigned_char
</CODE>
118 <A NAME=
"IDX530"></A>
119 These are signed and unsigned integer types with the size specified for
120 <CODE>C_char
</CODE> types in the target machine parameters.
122 <DT><CODE>type_signed_short
</CODE>
124 <A NAME=
"IDX531"></A>
125 <DT><CODE>type_unsigned_short
</CODE>
127 <A NAME=
"IDX532"></A>
128 These are signed and unsigned integer types with the size specified for
129 <CODE>C_short
</CODE> types in the target machine parameters.
131 <DT><CODE>type_signed
</CODE>
133 <A NAME=
"IDX533"></A>
134 <DT><CODE>type_unsigned
</CODE>
136 <A NAME=
"IDX534"></A>
137 These are signed and unsigned integer types with the size specified for
138 <CODE>C_int
</CODE> types in the target machine parameters.
140 <DT><CODE>type_signed_long
</CODE>
142 <A NAME=
"IDX535"></A>
143 <DT><CODE>type_unsigned_long
</CODE>
145 <A NAME=
"IDX536"></A>
146 These are signed and unsigned integer types with the size specified for
147 <CODE>C_long
</CODE> types in the target machine parameters.
149 <DT><CODE>type_signed_longlong
</CODE>
151 <A NAME=
"IDX537"></A>
152 <DT><CODE>type_unsigned_longlong
</CODE>
154 <A NAME=
"IDX538"></A>
155 These are signed and unsigned integer types with the size specified for
156 <CODE>C_longlong
</CODE> types in the target machine parameters.
158 <DT><CODE>type_float
</CODE>
160 <A NAME=
"IDX539"></A>
161 <DT><CODE>type_double
</CODE>
163 <A NAME=
"IDX540"></A>
164 <DT><CODE>type_longdouble
</CODE>
166 <A NAME=
"IDX541"></A>
167 These are floating-point types with the sizes specified for
168 <CODE>C_float
</CODE>,
<CODE>C_double
</CODE>, and
<CODE>C_longdouble
</CODE> types in the
169 target machine parameters.
173 <p>Go to the
<A HREF=
"suif1_1.html">first
</A>,
<A HREF=
"suif1_67.html">previous
</A>,
<A HREF=
"suif1_69.html">next
</A>,
<A HREF=
"suif1_113.html">last
</A> section,
<A HREF=
"suif1_toc.html">table of contents
</A>.