Skip to content

Commit

Permalink
29502 - generated files
Browse files Browse the repository at this point in the history
git-svn-id: https://svn.parrot.org/parrot/trunk@6024 d31e2699-5ff4-0310-a27c-f18f2fbe73fe
  • Loading branch information
leo committed May 11, 2004
1 parent 3c45c20 commit 64f9d46
Showing 1 changed file with 25 additions and 0 deletions.
25 changes: 25 additions & 0 deletions imcc/imclexer.c
Expand Up @@ -3508,6 +3508,10 @@ expand_macro (YYSTYPE *valp, void *interp, const char *name)
struct macro_t *m;
const char *expansion;
int start_cond;
int i;
char *current;
char *s;
int len;
union {
const void * __c_ptr;
void * __ptr;
Expand Down Expand Up @@ -3564,6 +3568,27 @@ expand_macro (YYSTYPE *valp, void *interp, const char *name)
m->name, m->params.num_param, frame->expansion.num_param);
}

/* expand arguments */
for (i = 0; i < frame->expansion.num_param; i ++) {
current = frame->expansion.name[i];
if (current[0] == '.') { /* parameter of outer macro */
s = find_macro_param(current + 1);
if (s) {
frame->expansion.name[i] = strdup(s);
free(current);
}
} else {
len = strlen(current) - 1;
if (current[len] == '$') { /* local label */
current[len] = '\0';
s = mem_sys_allocate(len + 1 + 10);
sprintf(s, "%s%d", current, frames->label);
frame->expansion.name[i] = s;
free(current);
}
}
}

line = m->line;
scan_string(frame, m->expansion);
return 1;
Expand Down

0 comments on commit 64f9d46

Please sign in to comment.