notaz.gp2x.de
/
ia32rtools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
translate: extra check
[ia32rtools.git]
/
tools
/
translate.c
diff --git
a/tools/translate.c
b/tools/translate.c
index
ce55bf9
..
f22cb1d
100644
(file)
--- a/
tools/translate.c
+++ b/
tools/translate.c
@@
-467,7
+467,7
@@
static int guess_lmod_from_c_type(enum opr_lenmod *lmod,
"LONG", "HIMC",
};
static const char *word_types[] = {
"LONG", "HIMC",
};
static const char *word_types[] = {
- "uint16_t", "int16_t", "_WORD",
+ "uint16_t", "int16_t", "_WORD",
"WORD",
"unsigned __int16", "__int16",
};
static const char *byte_types[] = {
"unsigned __int16", "__int16",
};
static const char *byte_types[] = {
@@
-3172,6
+3172,8
@@
tailcall:
// indirect call
pp_c = resolve_icall(i, opcnt, &l);
if (pp_c != NULL) {
// indirect call
pp_c = resolve_icall(i, opcnt, &l);
if (pp_c != NULL) {
+ if (!pp_c->is_func && !pp_c->is_fptr)
+ ferr(po, "call to non-func: %s\n", pp_c->name);
pp = proto_clone(pp_c);
my_assert_not(pp, NULL);
if (l)
pp = proto_clone(pp_c);
my_assert_not(pp, NULL);
if (l)