Web lists-archives.com

Re: ‘SIG_SETMASK’ and -std=c99




On 06/08/2017 11:44, Achim Gratz wrote:
Marco Atzeri writes:
building again hdf5-1.8.18 on latest cygwin I hit

error: ‘SIG_SETMASK’ undeclared

removing  "-std=c99" from CFLAGS solves the issue.

https://stackoverflow.com/questions/20849917/invalid-signal-processing-library-in-linux

That is not very informative as signal.h is in C99.
http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf

however SIG_SETMASK is not
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/signal.h.html


As before the "-std=c99" was not causing any problem , it is not clear
to me if the current behavior is correct or a side effect of latest
cygwin header reshuffle.

The "-std=c*" options are not meant to expose any symbols that are not
defined in the respective C standard.  You almost always want to use
"-std=gnu*" instead if you target POSIX-y systems.

formally you are right. However it seems that Cygwin is now
more stringent than Linux where this problem does not arise.


Regards,
Achim.

Regards
Marco


--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple