From 782d7aa841e755c47b68c15a5bc48bd0bdb4769c Mon Sep 17 00:00:00 2001 From: Andreas Zwinkau Date: Mon, 31 Mar 2008 12:10:21 +0000 Subject: [PATCH] fixing grgen dumper to autogenerate file names [r18302] --- include/libfirm/irdump_grgen.h | 14 +++++++++++--- ir/ir/irdump_grgen.c | 16 ++++++++++++++-- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/include/libfirm/irdump_grgen.h b/include/libfirm/irdump_grgen.h index bddf8ff96..6937f1649 100644 --- a/include/libfirm/irdump_grgen.h +++ b/include/libfirm/irdump_grgen.h @@ -21,15 +21,23 @@ * @file * @brief Write ir graph as a grgen construction rule * @author Andreas Schoesser -* @version $Id:$ +* @version $Id$ */ /** * Dumps a complete irg in the grgen format * irg: irg to dump - * filename: text file to dump to + * filename: text file to dump to * append: 1 if the new rule should be appended to the file, * otherwise the previous contents are deleted **/ -void dump_irg_grgen(ir_graph *irg, char *filename, int append); +void dump_irg_grgen_file(ir_graph *irg, char *filename, int append); + +/** + * Like dump_irg_grgen_file dumps a complete irg in the grgen format + * irg: irg to dump + * suffix: suffix for the output file + * (e.g. "main"+ suffix +".grg") + **/ +void dump_irg_grgen(ir_graph *irg, char *suffix); diff --git a/ir/ir/irdump_grgen.c b/ir/ir/irdump_grgen.c index b301f6ba9..286fb8099 100644 --- a/ir/ir/irdump_grgen.c +++ b/ir/ir/irdump_grgen.c @@ -21,7 +21,7 @@ * @file * @brief Write ir graph as a grgen construction rule * @author Andreas Schoesser -* @version $Id:$ +* @version $Id$ */ /* @@ -157,7 +157,7 @@ static void collect_nodes(ir_node *n, void * env) * Starts dumping ************************************************************************/ -void dump_irg_grgen(ir_graph *irg, char *filename, int append) +void dump_irg_grgen_file(ir_graph *irg, char *filename, int append) { FILE *fp; grgen_dumpinfo_t dump_info; @@ -212,6 +212,18 @@ void dump_irg_grgen(ir_graph *irg, char *filename, int append) } +void dump_irg_grgen(ir_graph *irg, char *suffix) +{ + char filename[100] = ""; + + strncat(filename, get_entity_name(get_irg_entity(irg)), 100); + strncat(filename, suffix, 100); + strncat(filename, ".grg", 100); + + dump_irg_grgen_file(irg, filename, 0); +} + + /************************************************************************ * Dumps the left hand side of the rule ************************************************************************/ -- 2.20.1