There's a lot of code in gnulib that contains 'defined _WIN32 && ! defined __CYGWIN__'. The '! defined __CYGWIN__' part is redundant, because _WIN32 is never defined on Cygwin. It used to be defined if the GCC option -mno-cygwin was used, but that option has been unsupported for many years, starting with GCC 4, I think.

Would the gnulib maintainers be interested in a patch to clean up the code by removing '! defined __CYGWIN__' where it is not needed? Or has there been a deliberate decision to support GCC 3 and the -mno-cygwin option? In the latter case, someone would need to audit the code and make sure that it is really doing the right thing for GCC 3 with -mno-cygwin. I personally don't think it's worth the trouble, and I think the presence of a redundant '! defined __CYGWIN__' is confusing to people who read the code.

Ken


Reply via email to