Commit 350c93a1 authored by Alexandre Julliard's avatar Alexandre Julliard

widl: Don't require inline stubs for functions that are never generated.

parent 31475455
...@@ -850,6 +850,23 @@ int need_inline_stubs(const type_t *iface) ...@@ -850,6 +850,23 @@ int need_inline_stubs(const type_t *iface)
STATEMENTS_FOR_EACH_FUNC( stmt, type_iface_get_stmts(iface) ) STATEMENTS_FOR_EACH_FUNC( stmt, type_iface_get_stmts(iface) )
{ {
const var_t *func = stmt->u.var; const var_t *func = stmt->u.var;
if (is_local( func->attrs )) continue;
if (!is_interpreted_func( iface, func )) return 1;
}
return 0;
}
static int need_proxy_and_inline_stubs(const type_t *iface)
{
const statement_t *stmt;
if (!need_proxy( iface )) return 0;
if (get_stub_mode() == MODE_Os) return 1;
STATEMENTS_FOR_EACH_FUNC( stmt, type_iface_get_stmts(iface) )
{
const var_t *func = stmt->u.var;
if (is_local( func->attrs )) continue;
if (!is_interpreted_func( iface, func )) return 1; if (!is_interpreted_func( iface, func )) return 1;
} }
return 0; return 0;
...@@ -942,7 +959,7 @@ static void write_proxy_routines(const statement_list_t *stmts) ...@@ -942,7 +959,7 @@ static void write_proxy_routines(const statement_list_t *stmts)
print_proxy( "#include \"%s\"\n", header_name); print_proxy( "#include \"%s\"\n", header_name);
print_proxy( "\n"); print_proxy( "\n");
if (need_inline_stubs_file( stmts )) if (does_any_iface(stmts, need_proxy_and_inline_stubs))
{ {
write_exceptions( proxy ); write_exceptions( proxy );
print_proxy( "\n"); print_proxy( "\n");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment