[Mingw-w64-public] [patch/cygwin]: Add crt/intrin.h to the list of installed w32api headers

2013-04-04 Thread Corinna Vinschen
Hi,

now that Cygwin also provides the intrinsics, it also needs the intrin.h
header to build crt without parallel header files.  The intrin.h header
just needs a minor tweak to exclude setjmp definitions.  The below patch
implements that.

Ok to apply?


Thanks,
Corinna


* crt/intrin.h: Exclude setjmp stuff when bulding under Cygwin.
* configure.ac (BASEHEAD_LIST): Add crt/intrin.h.
* configure: Regenerate.


Index: crt/intrin.h
===
--- crt/intrin.h(revision 5723)
+++ crt/intrin.h(working copy)
@@ -8,7 +8,11 @@
 #ifndef RC_INVOKED
 
 #include crtdefs.h
+#ifdef __CYGWIN__
+#define USE_NO_MINGW_SETJMP_TWO_ARGS
+#else
 #include setjmp.h
+#endif
 #include stddef.h
 
 #if defined(__GNUC__)  \
@@ -341,7 +345,9 @@
 __MACHINEIA64(void __lfetchfault_excl(int,void const *))
 __MACHINEIA64(__MINGW_EXTENSION __int64 __load128(void *,__int64 *))
 __MACHINEIA64(__MINGW_EXTENSION __int64 __load128_acq(void *,__int64 *))
+#ifndef __CYGWIN__
 __MACHINEZ(void __cdecl longjmp(jmp_buf,int))
+#endif
 
 #pragma push_macro (_lrotl)
 #undef _lrotl
Index: configure.ac
===
--- configure.ac(revision 5723)
+++ configure.ac(working copy)
@@ -39,7 +39,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/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/intrin.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

--
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public


Re: [Mingw-w64-public] [patch/cygwin]: Add crt/intrin.h to the list of installed w32api headers

2013-04-04 Thread Corinna Vinschen
On Apr  4 17:45, Corinna Vinschen wrote:
 Hi,
 
 now that Cygwin also provides the intrinsics, it also needs the intrin.h
 header to build crt without parallel header files.  The intrin.h header
 just needs a minor tweak to exclude setjmp definitions.  The below patch
 implements that.
 
 Ok to apply?

No, it's not.  There's more stuff necessary to make it work in a Cygwin
environment.  The problem is the usage of long in the declarations and
definitions of the intrinsic functions.  To make this work on 64 bit
Cygwin, the long's have to be convert to __LONG32, similar to the
changes for 64 bit Cygwin last year.  I'm going to work on that.


Corinna

--
Minimize network downtime and maximize team effectiveness.
Reduce network management and security costs.Learn how to hire 
the most talented Cisco Certified professionals. Visit the 
Employer Resources Portal
http://www.cisco.com/web/learning/employer_resources/index.html
___
Mingw-w64-public mailing list
Mingw-w64-public@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mingw-w64-public