That first setjmp.h patch is not needed id this patch is already used:
--------------------------------------------------------------
--- a\tccgen.c Mon Mar 15 23:51:00 2010
+++ b\tccgen.c Thu Apr 01 08:22:38 2010
@@ -2900,7 +2900,7 @@
case TOK_ATTRIBUTE1:
case TOK_ATTRIBUTE2:
parse_attribute(ad);
- if (ATTR_MODE(ad)) {
+ if (ad->mode) {
u = ATTR_MODE(ad) -1;
t = (t & ~VT_BTYPE) | u;
}
--------------------------------------------------------------
Can anyone check it out if it's correct.
----- Original Message -----
Sent: Wednesday, March 31, 2010 9:40 PM
Subject: Before TinyCC supports __declspec(noreturn) and __attribute__
((__nothrow__))
Latest mob and win32 have problems with those __attribute etc:
-------------------------------------------------------------
Before TinyCC supports __declspec(noreturn) and __attribute__
((__nothrow__))
This patch don't help /win32/include/winapi/winnt.h:3103: error: too many
basic types.
-------------------------------------------------------------
--- a\win32\include\setjmp.h Mon Mar 15 23:51:00 2010
+++ b\win32\include\setjmp.h Wed Mar 31 19:03:44 2010
@@ -130,27 +130,27 @@
#define _JMP_BUF_DEFINED
#endif
- void * __cdecl __attribute__ ((__nothrow__)) mingw_getsp(void);
+ void * __cdecl __MINGW_NOTHROW mingw_getsp(void);
#ifdef USE_MINGW_SETJMP_TWO_ARGS
#ifndef _INC_SETJMPEX
#define setjmp(BUF) _setjmp((BUF),mingw_getsp())
- int __cdecl __attribute__ ((__nothrow__)) _setjmp(jmp_buf _Buf,void
*_Ctx);
+ int __cdecl __MINGW_NOTHROW _setjmp(jmp_buf _Buf,void *_Ctx);
#else
#undef setjmp
#define setjmp(BUF) _setjmpex((BUF),mingw_getsp())
#define setjmpex(BUF) _setjmpex((BUF),mingw_getsp())
- int __cdecl __attribute__ ((__nothrow__)) _setjmpex(jmp_buf _Buf,void
*_Ctx);
+ int __cdecl __MINGW_NOTHROW _setjmpex(jmp_buf _Buf,void *_Ctx);
#endif
#else
#ifndef _INC_SETJMPEX
#define setjmp _setjmp
#endif
- int __cdecl __attribute__ ((__nothrow__)) setjmp(jmp_buf _Buf);
+ int __cdecl __MINGW_NOTHROW setjmp(jmp_buf _Buf);
#endif
- __declspec(noreturn) __attribute__ ((__nothrow__)) void __cdecl
ms_longjmp(jmp_buf _Buf,int _Value)/* throw(...)*/;
- __declspec(noreturn) __attribute__ ((__nothrow__)) void __cdecl
longjmp(jmp_buf _Buf,int _Value);
+ __MINGW_ATTRIB_NORETURN __MINGW_NOTHROW void __cdecl ms_longjmp(jmp_buf
_Buf,int _Value)/* throw(...)*/;
+ __MINGW_ATTRIB_NORETURN __MINGW_NOTHROW void __cdecl longjmp(jmp_buf
_Buf,int _Value);
#ifdef __cplusplus
}
-------------------------------------------------------------
With weak symbol patch crash when compiling chkstk.S
-------------------------------------------------------------
--- a\libtcc.c Mon Mar 15 22:51:00 2010
+++ b\libtcc.c Wed Mar 17 12:07:06 2010
@@ -425,7 +425,7 @@
if (sym->type.t & VT_STATIC)
sym_bind = STB_LOCAL;
else {
- if (FUNC_WEAK(sym->type.ref->r))
+ if (sym->type.ref && FUNC_WEAK(sym->type.ref->r))
sym_bind = STB_WEAK;
else
sym_bind = STB_GLOBAL;
-------------------------------------------------------------
_______________________________________________
Tinycc-devel mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/tinycc-devel