OLD | NEW |
1 // Copyright 2009 The Go Authors. All rights reserved. | 1 // Copyright 2009 The Go Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style | 2 // Use of this source code is governed by a BSD-style |
3 // license that can be found in the LICENSE file. | 3 // license that can be found in the LICENSE file. |
4 | 4 |
5 #include <bio.h> | 5 #include <bio.h> |
6 | 6 |
7 #undef OAPPEND | 7 #undef OAPPEND |
8 | 8 |
9 // avoid <ctype.h> | 9 // avoid <ctype.h> |
10 #undef isblank | 10 #undef isblank |
(...skipping 138 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
149 uchar deferwidth; | 149 uchar deferwidth; |
150 uchar broke; // broken type definition. | 150 uchar broke; // broken type definition. |
151 uchar isddd; // TFIELD is ... argument | 151 uchar isddd; // TFIELD is ... argument |
152 uchar align; | 152 uchar align; |
153 | 153 |
154 Node* nod; // canonical OTYPE node | 154 Node* nod; // canonical OTYPE node |
155 Type* orig; // original type (type literal or predefined typ
e) | 155 Type* orig; // original type (type literal or predefined typ
e) |
156 int lineno; | 156 int lineno; |
157 | 157 |
158 // TFUNC | 158 // TFUNC |
159 » uchar» thistuple; | 159 » int» thistuple; |
160 » uchar» outtuple; | 160 » int» outtuple; |
161 » uchar» intuple; | 161 » int» intuple; |
162 uchar outnamed; | 162 uchar outnamed; |
163 | 163 |
164 Type* method; | 164 Type* method; |
165 Type* xmethod; | 165 Type* xmethod; |
166 | 166 |
167 Sym* sym; | 167 Sym* sym; |
168 int32 vargen; // unique name for OTYPE/ONAME | 168 int32 vargen; // unique name for OTYPE/ONAME |
169 | 169 |
170 Node* nname; | 170 Node* nname; |
171 vlong argwid; | 171 vlong argwid; |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
245 uchar ullman; // sethi/ullman number | 245 uchar ullman; // sethi/ullman number |
246 uchar addable; // type of addressability - 0 is not addressable | 246 uchar addable; // type of addressability - 0 is not addressable |
247 uchar trecur; // to detect loops | 247 uchar trecur; // to detect loops |
248 uchar etype; // op for OASOP, etype for OTYPE, exclam for exp
ort | 248 uchar etype; // op for OASOP, etype for OTYPE, exclam for exp
ort |
249 uchar bounded; // bounds check unnecessary | 249 uchar bounded; // bounds check unnecessary |
250 uchar class; // PPARAM, PAUTO, PEXTERN, etc | 250 uchar class; // PPARAM, PAUTO, PEXTERN, etc |
251 uchar method; // OCALLMETH name | 251 uchar method; // OCALLMETH name |
252 uchar embedded; // ODCLFIELD embedded type | 252 uchar embedded; // ODCLFIELD embedded type |
253 uchar colas; // OAS resulting from := | 253 uchar colas; // OAS resulting from := |
254 uchar diag; // already printed error about this | 254 uchar diag; // already printed error about this |
255 uchar esc; // EscXXX | |
256 uchar noescape; // func arguments do not escape | 255 uchar noescape; // func arguments do not escape |
257 uchar funcdepth; | |
258 uchar builtin; // built-in name, like len or close | 256 uchar builtin; // built-in name, like len or close |
259 uchar walkdef; | 257 uchar walkdef; |
260 uchar typecheck; | 258 uchar typecheck; |
261 uchar local; | 259 uchar local; |
262 uchar dodata; | 260 uchar dodata; |
263 uchar initorder; | 261 uchar initorder; |
264 uchar used; | 262 uchar used; |
265 uchar isddd; | 263 uchar isddd; |
266 uchar readonly; | 264 uchar readonly; |
267 uchar implicit; | 265 uchar implicit; |
268 uchar addrtaken; // address taken, even if not moved to heap | 266 uchar addrtaken; // address taken, even if not moved to heap |
269 uchar dupok; // duplicate definitions ok (for func) | 267 uchar dupok; // duplicate definitions ok (for func) |
270 schar likely; // likeliness of if statement | 268 schar likely; // likeliness of if statement |
271 uchar hasbreak; // has break statement | 269 uchar hasbreak; // has break statement |
| 270 uint esc; // EscXXX |
| 271 int funcdepth; |
272 | 272 |
273 // most nodes | 273 // most nodes |
274 Type* type; | 274 Type* type; |
275 Node* orig; // original form, for printing, and tracking cop
ies of ONAMEs | 275 Node* orig; // original form, for printing, and tracking cop
ies of ONAMEs |
276 | 276 |
277 // func | 277 // func |
278 Node* nname; | 278 Node* nname; |
279 Node* shortname; | 279 Node* shortname; |
280 NodeList* enter; | 280 NodeList* enter; |
281 NodeList* exit; | 281 NodeList* exit; |
(...skipping 814 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1096 /* | 1096 /* |
1097 * gen.c | 1097 * gen.c |
1098 */ | 1098 */ |
1099 void addrescapes(Node *n); | 1099 void addrescapes(Node *n); |
1100 void cgen_as(Node *nl, Node *nr); | 1100 void cgen_as(Node *nl, Node *nr); |
1101 void cgen_callmeth(Node *n, int proc); | 1101 void cgen_callmeth(Node *n, int proc); |
1102 void cgen_eface(Node* n, Node* res); | 1102 void cgen_eface(Node* n, Node* res); |
1103 void cgen_slice(Node* n, Node* res); | 1103 void cgen_slice(Node* n, Node* res); |
1104 void clearlabels(void); | 1104 void clearlabels(void); |
1105 void checklabels(void); | 1105 void checklabels(void); |
1106 int» dotoffset(Node *n, int *oary, Node **nn); | 1106 int» dotoffset(Node *n, int64 *oary, Node **nn); |
1107 void gen(Node *n); | 1107 void gen(Node *n); |
1108 void genlist(NodeList *l); | 1108 void genlist(NodeList *l); |
1109 Node* sysfunc(char *name); | 1109 Node* sysfunc(char *name); |
1110 void tempname(Node *n, Type *t); | 1110 void tempname(Node *n, Type *t); |
1111 Node* temp(Type*); | 1111 Node* temp(Type*); |
1112 | 1112 |
1113 /* | 1113 /* |
1114 * init.c | 1114 * init.c |
1115 */ | 1115 */ |
1116 void fninit(NodeList *n); | 1116 void fninit(NodeList *n); |
(...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1484 #pragma varargck type "T" Type* | 1484 #pragma varargck type "T" Type* |
1485 #pragma varargck type "lT" Type* | 1485 #pragma varargck type "lT" Type* |
1486 #pragma varargck type "V" Val* | 1486 #pragma varargck type "V" Val* |
1487 #pragma varargck type "Y" char* | 1487 #pragma varargck type "Y" char* |
1488 #pragma varargck type "Z" Strlit* | 1488 #pragma varargck type "Z" Strlit* |
1489 | 1489 |
1490 /* | 1490 /* |
1491 * racewalk.c | 1491 * racewalk.c |
1492 */ | 1492 */ |
1493 void racewalk(Node *fn); | 1493 void racewalk(Node *fn); |
OLD | NEW |