Fix 64bit widl stubs.

svn path=/branches/ros-amd64-bringup/; revision=38090
This commit is contained in:
Samuel Serapion
2008-12-15 00:23:37 +00:00
parent d4682afd4e
commit fdc49dfd3d
4 changed files with 26 additions and 1 deletions

View File

@@ -461,7 +461,11 @@ static void write_client_ifaces(const statement_list_t *stmts, int expr_eval_rou
write_stubdescdecl(iface);
write_function_stubs(iface, proc_offset);
#ifdef TARGET_amd64
print_client("#if !defined(__RPC_WIN64__)\n");
#else
print_client("#if !defined(__RPC_WIN32__)\n");
#endif
print_client("#error Invalid build platform for this stub.\n");
print_client("#endif\n");

View File

@@ -2062,14 +2062,27 @@ static int get_struct_type(var_list_t *fields)
break;
case RPC_FC_RP:
return RPC_FC_BOGUS_STRUCT;
case RPC_FC_UP:
case RPC_FC_FP:
case RPC_FC_OP:
if(sizeof(void*) != 4)
return RPC_FC_BOGUST_STRUCT;
has_pointer = 1;
break;
case RPC_FC_CARRAY:
case RPC_FC_CVARRAY:
case RPC_FC_BOGUS_ARRAY:
{
unsigned int ptr_type = get_attrv(field->attrs, ATTR_POINTERTYPE);
if(!ptr_type || ptr_type == RPC_FC_RP)
return RPC_FC_BOGUS_STRUCT;
else if (sizeof(void*) != 4)
return RPC_FC_BOGUS_STRUCT;
has_pointer = 1;
break;
}
/*
* Propagate member attributes

View File

@@ -704,7 +704,11 @@ void write_proxies(const statement_list_t *stmts)
write_user_quad_list(proxy);
write_stubdesc(expr_eval_routines);
#ifdef TARGET_amd64
print_proxy( "#if !defined(__RPC_WIN64__)\n");
#else
print_proxy( "#if !defined(__RPC_WIN32__)\n");
#endif
print_proxy( "#error Currently only Wine and WIN32 are supported.\n");
print_proxy( "#endif\n");
print_proxy( "\n");

View File

@@ -401,7 +401,11 @@ static void write_server_stmts(const statement_list_t *stmts, int expr_eval_rout
write_function_stubs(iface, proc_offset);
print_server("#if !defined(__RPC_WIN32__)\n");
#ifdef TARGET_amd64
print_server("#if !defined(__RPC_WIN64__)\n");
#else
print_server( "#if !defined(__RPC_WIN32__)\n");
#endif
print_server("#error Invalid build platform for this stub.\n");
print_server("#endif\n");