void defcomplex(Node *tn, Node *m) { tail = &tn->sym->lt; base = tn->sym; buildtype(m, 0); }
wxString CBuildInfo::GetBuildType() { #ifdef BUILDTYPE wxString buildtype(BUILDTYPE, wxConvLocal); if (buildtype == _T("official") || buildtype == _T("nightly")) return buildtype; #endif return _T(""); }
void buildtype(Node *m, int d) { Type *t; if(m == ZN) return; switch(m->op) { case OLIST: buildtype(m->left, d); buildtype(m->right, d); break; case OCTRUCT: buildtype(m->left, d+1); break; default: t = malloc(sizeof(Type)); t->next = 0; t->depth = d; t->tag = m->sym; t->base = base; t->offset = m->ival; if(m->left) { t->type = m->left->sym; t->fmt = 'a'; } else { t->type = 0; if(m->right) t->type = m->right->sym; t->fmt = m->fmt; } *tail = t; tail = &t->next; } }