PATCH: sane.ds / DECLSPEC hidden

Alexandre Julliard julliard at
Fri Jun 16 08:08:02 CDT 2006

"Mike Hearn" <mike at> writes:

> On 6/15/06, Alexandre Julliard <julliard at> wrote:
>> No, we only want the internal functions to be hidden.
> Right, so we set default visibility to hidden then change WINAPI and
> WINAPIV to include __attribute__((visibility(default))). That way only
> WINAPI declarations are exported.

Sure, but then it's not really useful. The whole point of marking
functions explicitly is that it lets you document whether the function
is intended to be private or not, and lets you spot functions that
should have been static. Doing it all automatically doesn't gain you
much, especially since relocations are already resolved at link time
by our use of -Bsymbolic.

Now for Winelib it's a different issue, there it would make sense at
some point to support setting visibility to hidden and explicitly
marking exported functions, so that winebuild could build the import
table without requiring a spec file. But even then you have to mark
exports explicitly, you can't just redefine WINAPI for that.

Alexandre Julliard
julliard at

More information about the wine-devel mailing list