_CYGWIN is not defined internally in cygwin but __CYGWIN__
-#if (defined(_WIN32) && defined(__i386__)) || defined(_CYGWIN) || defined(__APPLE__)
+#if ((defined(_WIN32) || defined(__CYGWIN__)) && defined(__i386__)) || defined(__APPLE__)
#define CDECL(symbol) _##symbol
#else
#define CDECL(symbol) symbol
