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: some float arg handling
[ia32rtools.git]
/
tools
/
protoparse.h
diff --git
a/tools/protoparse.h
b/tools/protoparse.h
index
897171e
..
549c903
100644
(file)
--- a/
tools/protoparse.h
+++ b/
tools/protoparse.h
@@
-16,6
+16,7
@@
struct parsed_type {
unsigned int is_retreg:1; // register to return to caller
unsigned int is_va_list:1;
unsigned int is_64bit:1;
unsigned int is_retreg:1; // register to return to caller
unsigned int is_va_list:1;
unsigned int is_64bit:1;
+ unsigned int is_float:1; // float, double
};
struct parsed_proto_arg {
};
struct parsed_proto_arg {
@@
-215,8
+216,10
@@
static const char *known_ptr_types[] = {
"HMENU",
"HWAVEOUT",
"HWND",
"HMENU",
"HWAVEOUT",
"HWND",
+ "PAPPBARDATA",
"PBYTE",
"PCRITICAL_SECTION",
"PBYTE",
"PCRITICAL_SECTION",
+ "PDEVMODEA",
"PDWORD",
"PFILETIME",
"PLARGE_INTEGER",
"PDWORD",
"PFILETIME",
"PLARGE_INTEGER",
@@
-668,6
+671,12
@@
static int parse_protostr(char *protostr, struct parsed_proto *pp)
pp->has_retreg |= is_retreg;
}
pp->has_retreg |= is_retreg;
}
+ if (IS(arg->type.name, "float")
+ || IS(arg->type.name, "double"))
+ {
+ arg->type.is_float = 1;
+ }
+
if (!arg->type.is_ptr && (strstr(arg->type.name, "int64")
|| IS(arg->type.name, "double")))
{
if (!arg->type.is_ptr && (strstr(arg->type.name, "int64")
|| IS(arg->type.name, "double")))
{