System.exit(1);
    public static void generateGlobalDotH(SIRGlobal global, SIRHelper[] helpers) {        String str = new String();        JFieldDeclaration fields[];        if (global == null) {            fields = new JFieldDeclaration[0];        } else {            fields = global.getFields();        }        // ================================        // Writing global.h        // ================================        str += "#include <math.h>\n";        str += "#include \"structs.h\"\n";        str += "#include <StreamItVectorLib.h>\n";        str += "\n";        str += "#define max(A,B) (((A)>(B))?(A):(B))\n";        str += "#define min(A,B) (((A)<(B))?(A):(B))\n";        str += "\n";            for (int i = 0; i < helpers.length; i++) {            JMethodDeclaration[] m = helpers[i].getMethods();            for (int j = 0; j < m.length; j++) {                FlatIRToCluster f2c = new FlatIRToCluster();                f2c.helper_package = helpers[i].getIdent();                f2c.setDeclOnly(true);                m[j].accept(f2c);                str += "extern "+f2c.getPrinter().getString()+"\n";            }        }        str += "extern void __global__init();\n";        str += "\n";        for (int f = 0; f < fields.length; f++) {            CType type = fields[f].getType();            if (type.toString().endsWith("Portal")) continue;            String ident = fields[f].getVariable().getIdent();            str += "extern " + ClusterUtils.declToString(type, "__global__" + ident) + ";\n";        }        try {            FileWriter fw = new FileWriter("global.h");            fw.write(str.toString());            fw.close();        }        catch (Exception e) {            System.err.println("Unable to write <global.h>");        }    }