Hi,
per a private discussion between Kai and me, the below patch reverts the
patch adding intrin.h to BASEHEAD_LIST. Rather, in case of Cygwin, the
winnt.h header now includes the compiler intrinsic files directly.
Thanks,
Corinna
* configure.ac (BASEHEAD_LIST): Remove crt/intrin.h.
* configure: Regenerate
* winnt.h: In case of Cygwin, include gcc-provided intrinsic
files directly, instead of including intrin.h.
Index: configure.ac
===================================================================
--- configure.ac (revision 5280)
+++ configure.ac (working copy)
@@ -38,7 +38,7 @@
# Checks for header files.
-BASEHEAD_LIST="crt/_bsd_types.h crt/_cygwin.h crt/_mingw.h crt/_mingw_mac.h
crt/_mingw_print_push.h crt/_mingw_print_pop.h crt/_mingw_secapi.h
crt/_mingw_unicode.h crt/_timeval.h crt/crtdefs.h crt/excpt.h crt/intrin.h
crt/vadefs.h "$srcdir/include/*.h
+BASEHEAD_LIST="crt/_bsd_types.h crt/_cygwin.h crt/_mingw.h crt/_mingw_mac.h
crt/_mingw_print_push.h crt/_mingw_print_pop.h crt/_mingw_secapi.h
crt/_mingw_unicode.h crt/_timeval.h crt/crtdefs.h crt/excpt.h crt/vadefs.h
"$srcdir/include/*.h
SECHEAD_LIST="$srcdir/crt/sec_api/stralign_s.h"
for i in dlg h16 hxx rh ver; do
BASEHEAD_LIST="$BASEHEAD_LIST "$srcdir/include/*.$i
Index: configure
===================================================================
--- configure (revision 5280)
+++ configure (working copy)
@@ -2534,7 +2534,7 @@
# Checks for header files.
-BASEHEAD_LIST="crt/_bsd_types.h crt/_cygwin.h crt/_mingw.h crt/_mingw_mac.h
crt/_mingw_print_push.h crt/_mingw_print_pop.h crt/_mingw_secapi.h
crt/_mingw_unicode.h crt/_timeval.h crt/crtdefs.h crt/excpt.h crt/intrin.h
crt/vadefs.h "$srcdir/include/*.h
+BASEHEAD_LIST="crt/_bsd_types.h crt/_cygwin.h crt/_mingw.h crt/_mingw_mac.h
crt/_mingw_print_push.h crt/_mingw_print_pop.h crt/_mingw_secapi.h
crt/_mingw_unicode.h crt/_timeval.h crt/crtdefs.h crt/excpt.h crt/vadefs.h
"$srcdir/include/*.h
SECHEAD_LIST="$srcdir/crt/sec_api/stralign_s.h"
for i in dlg h16 hxx rh ver; do
BASEHEAD_LIST="$BASEHEAD_LIST "$srcdir/include/*.$i
Index: include/winnt.h
===================================================================
--- include/winnt.h (revision 5280)
+++ include/winnt.h (working copy)
@@ -1448,7 +1448,27 @@
VOID _ReadWriteBarrier(VOID);
-#include <intrin.h>
+/* Don't include intrin.h on Cygwin. It pulls in unneeded stuff. */
+#ifdef __CYGWIN__
+# if defined(__cplusplus)
+extern "C" {
+# endif
+# include <x86intrin.h>
+# ifdef __MMX__
+# include <mmintrin.h>
+# endif
+# ifdef __SSE2__
+# include <emmintrin.h>
+# endif
+# ifdef __SSE3__
+# include <pmmintrin.h>
+# endif
+# if defined(__cplusplus)
+}
+# endif
+#else /* !__CYGWIN__ */
+# include <intrin.h>
+#endif /* __CYGWIN__ */
#define FastFence __faststorefence
#define LoadFence _mm_lfence
------------------------------------------------------------------------------
Live Security Virtual Conference
Exclusive live event will cover all the ways today's security and
threat landscape has changed and how IT managers can respond. Discussions
will include endpoint security, mobile security and the latest in malware
threats. http://www.accelacomm.com/jaw/sfrnl04242012/114/50122263/
_______________________________________________
Mingw-w64-public mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public