Define __builtin_va_list as a built-in type.
[suif.git] / html / suif1_68.html
blobd3e20c4f2c2989c4d1bb71f9455939f67d48f584
1 <HTML>
2 <HEAD>
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>
11 </HEAD>
12 <BODY>
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>.
14 <P><HR><P>
17 <H2><A NAME="SEC68" HREF="suif1_toc.html#TOC68">Predefined Types</A></H2>
18 <P>
19 <A NAME="IDX511"></A>
20 <A NAME="IDX512"></A>
22 </P>
23 <P>
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:
30 </P>
31 <DL COMPACT>
33 <DT><CODE>type_v0</CODE>
34 <DD>
35 <A NAME="IDX513"></A>
36 This is a <CODE>void</CODE> type with size zero.
38 <DT><CODE>type_s8</CODE>
39 <DD>
40 <A NAME="IDX514"></A>
41 <DT><CODE>type_s16</CODE>
42 <DD>
43 <A NAME="IDX515"></A>
44 <DT><CODE>type_s32</CODE>
45 <DD>
46 <A NAME="IDX516"></A>
47 <DT><CODE>type_s64</CODE>
48 <DD>
49 <A NAME="IDX517"></A>
50 These are signed integer types of 8, 16, 32, and 64 bits.
52 <DT><CODE>type_u8</CODE>
53 <DD>
54 <A NAME="IDX518"></A>
55 <DT><CODE>type_u16</CODE>
56 <DD>
57 <A NAME="IDX519"></A>
58 <DT><CODE>type_u32</CODE>
59 <DD>
60 <A NAME="IDX520"></A>
61 <DT><CODE>type_u64</CODE>
62 <DD>
63 <A NAME="IDX521"></A>
64 These are unsigned integer types of 8, 16, 32, and 64 bits.
66 <DT><CODE>type_f32</CODE>
67 <DD>
68 <A NAME="IDX522"></A>
69 <DT><CODE>type_f64</CODE>
70 <DD>
71 <A NAME="IDX523"></A>
72 <DT><CODE>type_f128</CODE>
73 <DD>
74 <A NAME="IDX524"></A>
75 These are floating-point types of 32, 64, and 128 bits.
77 <DT><CODE>type_error</CODE>
78 <DD>
79 <A NAME="IDX525"></A>
80 This variable is just set to <CODE>NULL</CODE>. It may be used to represent
81 various error conditions.
82 </DL>
84 <P>
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.
91 </P>
92 <DL COMPACT>
94 <DT><CODE>type_void</CODE>
95 <DD>
96 <A NAME="IDX526"></A>
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>
101 <DD>
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>
107 <DD>
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>
114 <DD>
115 <A NAME="IDX529"></A>
116 <DT><CODE>type_unsigned_char</CODE>
117 <DD>
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>
123 <DD>
124 <A NAME="IDX531"></A>
125 <DT><CODE>type_unsigned_short</CODE>
126 <DD>
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>
132 <DD>
133 <A NAME="IDX533"></A>
134 <DT><CODE>type_unsigned</CODE>
135 <DD>
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>
141 <DD>
142 <A NAME="IDX535"></A>
143 <DT><CODE>type_unsigned_long</CODE>
144 <DD>
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>
150 <DD>
151 <A NAME="IDX537"></A>
152 <DT><CODE>type_unsigned_longlong</CODE>
153 <DD>
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>
159 <DD>
160 <A NAME="IDX539"></A>
161 <DT><CODE>type_double</CODE>
162 <DD>
163 <A NAME="IDX540"></A>
164 <DT><CODE>type_longdouble</CODE>
165 <DD>
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.
170 </DL>
172 <P><HR><P>
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>.
174 </BODY>
175 </HTML>