Subject: bug#22522: Commit b88e9cded7ae3756e3a2ec4a23e8df352a0239f9 breaks emacs dumping for me

From: Ken Brown <[email-masked]>
Date: Tue, 2 Feb 2016 22:18:36 -0500

On 2/2/2016 7:09 PM, Ken Brown wrote:
> What about an ad hoc temporary solution that simply defines
> __ISO_C_VISIBLE to be 2011 on Cygwin prior to the inclusion of
> <stdlib.h>?  Or do you have a better idea?

Something like this?

diff --git a/src/conf_post.h b/src/conf_post.h
index c5eec5a..1cb4953 100644
--- a/src/conf_post.h
+++ b/src/conf_post.h
@@ -221,7 +221,17 @@ extern char *emacs_getenv_TZ (void);
  extern int emacs_setenv_TZ (char const *);

  #include <string.h>
+
+/* On Cygwin as of 2016-02-02 __ISO_C_VISIBLE is defined to be 1999 if
+   _GNU_SOURCE is defined.  This hides the declaration of
+   aligned_alloc in <stdlib.h> */
+#ifdef CYGWIN
+#pragma push_macro("__ISO_C_VISIBLE")
+#undef __ISO_C_VISIBLE
+#define __ISO_C_VISIBLE 2011
  #include <stdlib.h>
+#pragma pop_macro("__ISO_C_VISIBLE")
+#endif

  #if __GNUC__ >= 3  /* On GCC 3.0 we might get a warning.  */
  #define NO_INLINE __attribute__((noinline))

Ken