Author: rfm
Date: Tue Jun 28 16:01:55 2016
New Revision: 39942
URL: http://svn.gna.org/viewcvs/gnustep?rev=39942&view=rev
Log:
msys2/64bit fixes
Modified:
libs/base/trunk/ChangeLog
libs/base/trunk/Headers/Foundation/NSException.h
libs/base/trunk/Source/NSDebug.m
Modified: libs/base/trunk/ChangeLog
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/ChangeLog?rev=39942&r1=39941&r2=39942&view=diff
==============================================================================
--- libs/base/trunk/ChangeLog (original)
+++ libs/base/trunk/ChangeLog Tue Jun 28 16:01:55 2016
@@ -1,3 +1,10 @@
+2016-06-28 Richard Frith-Macdonald <[email protected]>
+
+ * Source/NSDebug.m: Yse setjmp/longjmp from NSException.h
+ * Headers/Foundation/NSException.h: On mingw-w64 use the builtin
+ setjmp/longjmp provided by gcc since the mingw version sometimes
+ crashes.
+
2016-06-28 Richard Frith-Macdonald <[email protected]>
* SSL: Openssl bundle directory deleted
Modified: libs/base/trunk/Headers/Foundation/NSException.h
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Headers/Foundation/NSException.h?rev=39942&r1=39941&r2=39942&view=diff
==============================================================================
--- libs/base/trunk/Headers/Foundation/NSException.h (original)
+++ libs/base/trunk/Headers/Foundation/NSException.h Tue Jun 28 16:01:55 2016
@@ -50,8 +50,18 @@
#endif
#import <Foundation/NSString.h>
+
#include <setjmp.h>
#include <stdarg.h>
+
+#if defined(__WIN64__)
+/* This hack is to deal with the fact that currently (June 2016) the
+ * implementation of longjmp in mingw-w64 sometimes crashes in msvcrt.dll
+ * but the builtin version provided by gcc seems to work.
+ */
+#define setjmp(X) __builtin_setjmp(X)
+#define longjmp(X,Y) __builtin_longjmp(X,Y)
+#endif
#if defined(__cplusplus)
extern "C" {
@@ -354,7 +364,7 @@
#define NS_DURING { NSHandler NSLocalHandler; \
_NSAddHandler(&NSLocalHandler); \
- if( !setjmp(NSLocalHandler.jumpState) ) {
+ if (!setjmp(NSLocalHandler.jumpState)) {
#define NS_HANDLER _NSRemoveHandler(&NSLocalHandler); } else { \
NSException __attribute__((unused)) *localException \
Modified: libs/base/trunk/Source/NSDebug.m
URL:
http://svn.gna.org/viewcvs/gnustep/libs/base/trunk/Source/NSDebug.m?rev=39942&r1=39941&r2=39942&view=diff
==============================================================================
--- libs/base/trunk/Source/NSDebug.m (original)
+++ libs/base/trunk/Source/NSDebug.m Tue Jun 28 16:01:55 2016
@@ -34,6 +34,7 @@
#import "Foundation/NSArray.h"
#import "Foundation/NSData.h"
#import "Foundation/NSDictionary.h"
+#import "Foundation/NSException.h"
#import "Foundation/NSLock.h"
#import "Foundation/NSNotification.h"
#import "Foundation/NSNotificationQueue.h"
@@ -789,8 +790,6 @@
#elif defined(HAVE_SIGNAL_H)
# include <signal.h>
#endif
-
-#include <setjmp.h>
#if defined(_WIN32)
#ifndef SIGBUS
_______________________________________________
Gnustep-cvs mailing list
[email protected]
https://mail.gna.org/listinfo/gnustep-cvs