version 1.15, 2006/03/24 08:03:44 |
version 1.16, 2010/09/07 19:58:09 |
|
|
|
|
FILE *traceout; |
FILE *traceout; |
|
|
#define TRACE_ARGS 1 |
#define TRACE_ARGS 1 |
#define TRACE_EXPANSION 2 |
#define TRACE_EXPANSION 2 |
#define TRACE_QUOTE 4 |
#define TRACE_QUOTE 4 |
#define TRACE_FILENAME 8 |
#define TRACE_FILENAME 8 |
|
|
int level; |
int level; |
int framep; |
int framep; |
|
|
for (framep = fp, level = 0; framep != 0; |
for (framep = fp, level = 0; framep != 0; |
level++,framep = mstack[framep-3].sfra) |
level++,framep = mstack[framep-3].sfra) |
; |
; |
return level; |
return level; |
|
|
fprintf(traceout, "id %lu: ", expansion_id); |
fprintf(traceout, "id %lu: ", expansion_id); |
} |
} |
|
|
size_t |
size_t |
trace(const char *argv[], int argc, struct input_file *inp) |
trace(const char *argv[], int argc, struct input_file *inp) |
{ |
{ |
if (!traceout) |
if (!traceout) |
|
|
delim[0] = LPAREN; |
delim[0] = LPAREN; |
delim[1] = EOS; |
delim[1] = EOS; |
for (i = 2; i < argc; i++) { |
for (i = 2; i < argc; i++) { |
fprintf(traceout, "%s%s%s%s", delim, |
fprintf(traceout, "%s%s%s%s", delim, |
(trace_flags & TRACE_QUOTE) ? lquote : "", |
(trace_flags & TRACE_QUOTE) ? lquote : "", |
argv[i], |
argv[i], |
(trace_flags & TRACE_QUOTE) ? rquote : ""); |
(trace_flags & TRACE_QUOTE) ? rquote : ""); |
delim[0] = COMMA; |
delim[0] = COMMA; |
delim[1] = ' '; |
delim[1] = ' '; |
|
|
} |
} |
} |
} |
|
|
void |
void |
finish_trace(size_t mark) |
finish_trace(size_t mark) |
{ |
{ |
fprintf(traceout, " -> "); |
fprintf(traceout, " -> "); |