Authors: Edwin Steiner
- $Id: typecheck.c 727 2003-12-11 10:52:40Z edwin $
+ $Id: typecheck.c 788 2003-12-15 18:45:28Z edwin $
*/
#define LOGINFO(info) DOLOG(do {typeinfo_print_short(get_logfile(),info);log_plain("\n");} while(0))
#define LOGFLUSH DOLOG(fflush(get_logfile()))
#define LOGNL DOLOG(log_plain("\n"))
-#define LOGSTR(str) DOLOG(dolog_plain(str))
+#define LOGSTR(str) DOLOG(log_plain(str))
#define LOGSTR1(str,a) DOLOG(dolog_plain(str,a))
#define LOGSTR2(str,a,b) DOLOG(dolog_plain(str,a,b))
#define LOGSTR3(str,a,b,c) DOLOG(dolog_plain(str,a,b,c))
#ifdef TYPECHECK_VERBOSE_IMPORTANT
#define LOGimp(str) DOLOG(log_text(str))
-#define LOGimpSTR(str) DOLOG(dolog_plain(str))
+#define LOGimpSTR(str) DOLOG(log_plain(str))
#define LOGimpSTRu(utf) DOLOG(log_plain_utf(utf))
#else
#define LOGimp(str)
}
+#if 0
static
void
typeinfo_print_blocks(FILE *file,int vnum,u1 *vtype,typeinfo *vinfo)
show_icmd_block(block+bi);
}
}
+#endif
#endif
TYPECHECK_COPYVARS; \
} \
else { \
- TYPECHECK_COPYJSR(jsrchain); \
+ if (way != REACH_THROW) TYPECHECK_COPYJSR(jsrchain); \
TYPECHECK_COPYVARS; \
} \
if (way != REACH_THROW) TYPECHECK_COPYSTACK; \
changed = false; \
if (way == REACH_JSR) \
TYPECHECK_CHECK_JSR_CHAIN; \
- else \
+ else if (way != REACH_THROW) \
TYPECHECK_MERGEJSR; \
TYPECHECK_MERGEVARS; \
if (way != REACH_THROW) TYPECHECK_MERGESTACK; \
touched = DMNEW(u1,numlocals);
vtype = vartype + numlocals * block_count;
vinfo = vartypeinfo + numlocals * block_count;
- memset(vartype,TYPE_VOID,numlocals * (block_count+1) * sizeof(typeinfo));
+ memset(vartype,TYPE_VOID,numlocals * (block_count+1) * sizeof(u1));
memset(vartypeinfo,0,numlocals * (block_count+1) * sizeof(typeinfo));
LOG("Variable buffer initialized.\n");