GNode * Targ_NewGNi(const char *name, const char *ename) { GNode *gn; gn = ohash_create_entry(&gnode_info, name, &ename); gn->path = NULL; gn->type = 0; gn->special = SPECIAL_NONE; gn->unmade = 0; gn->must_make = false; gn->built_status = UNKNOWN; gn->childMade = false; gn->order = 0; ts_set_out_of_date(gn->mtime); gn->youngest = gn; Lst_Init(&gn->cohorts); Lst_Init(&gn->parents); Lst_Init(&gn->children); Lst_Init(&gn->successors); Lst_Init(&gn->preds); SymTable_Init(&gn->context); gn->impliedsrc = NULL; Lst_Init(&gn->commands); gn->suffix = NULL; gn->next = NULL; gn->basename = NULL; gn->sibling = gn; gn->groupling = NULL; #ifdef STATS_GN_CREATION STAT_GN_COUNT++; #endif return gn; }
/* Create a new variable, does not initialize anything except the name. * in particular, buffer is invalid, and flag value is invalid. Accordingly, * must either: * - set flags to VAR_DUMMY * - set flags to !VAR_DUMMY, and initialize buffer, for instance with * var_set_initial_value(). */ static Var * create_var(const char *name, const char *ename) { return ohash_create_entry(&var_info, name, &ename); }