sys/cdefs.h or maybe gcc build issue

Ken Brown
Tue Nov 1 19:42:00 GMT 2016

On 10/30/2016 2:23 PM, cyg Simple wrote:
> The below sample code will give a warning that visibility isn't
> supported in this configuration.  Either the GCC build is incorrect or
> the sys/cdefs.h needs to be modified to define __hidden to empty.
> /********************************************/
> #include <sys/cdefs.h>
> #include <stdio.h>
> __hidden void hello (char * str) {
> 	printf("%s %s\n", "Hello", str);
> }
> int main (int argc, char ** argv) {
> 	hello("cruel world!");
> }
> /********************************************/

If you're trying to write portable code, why would you assume that 
__hidden is defined?  It's not defined in glibc, for example, and your 
sample program doesn't compile on Linux:

$ gcc test.c
test.c:4: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before 

Do you have a real use case where this issue came up?  The sample isn't 
very convincing as it stands.


Problem reports:
Unsubscribe info:

More information about the Cygwin mailing list