X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=src%2Fbackends%2Fjvm%2Fgenerator-jvm-asm.c;h=bd1812c00d0d74309faee20c12301a3102675f42;hb=4e58c0e61815196bcf87405ab9d070631bc72f90;hp=50f3af92ee8706957784bd4a55667b9e4a8b9e82;hpb=55d9ee92b95dd306ac80fb643ed21d3b733395d7;p=dsw-obn.git diff --git a/src/backends/jvm/generator-jvm-asm.c b/src/backends/jvm/generator-jvm-asm.c index 50f3af9..bd1812c 100644 --- a/src/backends/jvm/generator-jvm-asm.c +++ b/src/backends/jvm/generator-jvm-asm.c @@ -8,7 +8,6 @@ #include -#include "../../../include/oberon.h" #include "../../oberon-internals.h" #include "generator-jvm.h" #include "generator-jvm-abi.h" @@ -70,15 +69,20 @@ jvm_generate_function_end(gen_proc_t * p) } struct gen_class * -jvm_create_class(char * full_name) +jvm_create_class(const char * dir, char * full_name) { struct gen_class * class = GC_MALLOC(sizeof *class); memset(class, 0, sizeof *class); - char * fname = new_string("%s.j", full_name); + char * fname = new_string("%s/%s.j", dir, full_name); class -> full_name = new_string(full_name); class -> fp = fopen(fname, "w"); - assert(class -> fp); + class -> dir = new_string(dir); + + if(class -> fp == NULL) + { + gen_error("unable to create file %s", fname); + } return class; } @@ -279,14 +283,6 @@ jvm_generate_push_string(gen_proc_t * p, char * str, int char_size) } } -gen_var_t * -oberon_generator_new_var() -{ - gen_var_t * v = GC_MALLOC(sizeof *v); - memset(v, 0, sizeof *v); - return v; -} - int jvm_new_label_id(gen_proc_t * p) {