+ int cur_sz = 0;
+ struct odr_constack *st;
+
+ for (st = o->op->stack_top; st; st = st->prev)
+ cur_sz++;
+ if (o->op->tmp_names_sz < cur_sz + 1)
+ {
+ o->op->tmp_names_sz = 2 * cur_sz + 5;
+ o->op->tmp_names_buf = (const char **)
+ odr_malloc(o, o->op->tmp_names_sz * sizeof(char*));
+ }
+ o->op->tmp_names_buf[cur_sz] = 0;
+ for (st = o->op->stack_top; st; st = st->prev)
+ {
+ cur_sz--;
+ o->op->tmp_names_buf[cur_sz] = st->name;
+ }
+ assert(cur_sz == 0);
+ return o->op->tmp_names_buf;