X-Git-Url: http://nsz.repo.hu/git/?a=blobdiff_plain;f=scripts%2Fgen_ir_io.py;h=781ee46b11fcfa00d89fd4ad4cbef415b4e7f297;hb=49fab010ea91ab5b0cf15a03d0a511992d6d4dba;hp=2cc4d3eae85904cd41c02dc33359a617226c5ba1;hpb=8974a51236032c22f4dea21d1f27c0bd8c15a28f;p=libfirm diff --git a/scripts/gen_ir_io.py b/scripts/gen_ir_io.py index 2cc4d3eae..781ee46b1 100755 --- a/scripts/gen_ir_io.py +++ b/scripts/gen_ir_io.py @@ -26,9 +26,9 @@ def format_ifnset(string, node, key): def format_block(node): if hasattr(node, "knownBlock"): - return "" + return "current_ir_graph" else: - return ", get_node(env, preds[0])" + return "get_node(env, preds[0])" env = Environment() env.filters['args'] = format_args @@ -79,6 +79,9 @@ def get_io_type(type, attrname, node): elif type == "int": importcmd = "int %s = (int) read_long(env);" % attrname exportcmd = """fprintf(env->file, "%%d ", %(val)s);""" + elif type == "unsigned": + importcmd = "unsigned %s = (unsigned) read_long(env);" % attrname + exportcmd = """fprintf(env->file, "%%u ", %(val)s);""" elif type == "long": importcmd = "long %s = read_long(env);" % attrname exportcmd = """fprintf(env->file, "%%ld ", %(val)s);""" @@ -187,9 +190,9 @@ import_attrs_template = env.from_string(''' {% for attr in node.constructor_args %}{{attr.importcmd}} {% endfor %} {% for special in node.special_constructors %}if({{special.attrname}} == {{special.value}}) - newnode = new_r_{{special.constrname}}(current_ir_graph{{node|block}}{{node.arguments|args}}); + newnode = new_r_{{special.constrname}}({{node|block}}{{node.arguments|args}}); else{% endfor %} - newnode = new_r_{{node.name}}(current_ir_graph{{node|block}}{{node.arguments|args}}); + newnode = new_r_{{node.name}}({{node|block}}{{node.arguments|args}}); {% for (initarg, initfunc) in node.initargs %}{{initfunc}}(newnode, {{initarg}}); {% endfor %} break;