[Expat-checkins] expat/lib internal.h,1.5,1.6
Fred L. Drake
fdrake at users.sourceforge.net
Fri Mar 14 09:25:14 EST 2003
Update of /cvsroot/expat/expat/lib
In directory sc8-pr-cvs1:/tmp/cvs-serv23965
Modified Files:
internal.h
Log Message:
Be more defensive: only enable the *CALL macros when using GCC on
Linux, since we know the current definitions work there and have a
positive effect.
This closes SF bug #692878.
Index: internal.h
===================================================================
RCS file: /cvsroot/expat/expat/lib/internal.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- internal.h 12 Mar 2003 23:02:11 -0000 1.5
+++ internal.h 14 Mar 2003 17:25:12 -0000 1.6
@@ -20,19 +20,20 @@
and therefore subject to change.
*/
-#if defined(__GNUC__) && !defined(sun)
-/* regparm() generates warnings on Solaris boxes. See SF bug #692878.
+#if defined(__GNUC__) && defined(linux)
+/* We'll use this version by default only where we know it helps.
+
+ regparm() generates warnings on Solaris boxes. See SF bug #692878.
Instability reported with egcs on a RedHat Linux 7.3.
- Let's comment it out:
+ Let's comment out:
#define FASTCALL __attribute__((stdcall, regparm(3)))
and let's try this:
*/
#define FASTCALL __attribute__((regparm(3)))
-#define PTRCALL
#define PTRFASTCALL __attribute__((regparm(3)))
+#endif
-#elif defined(WIN32)
/* Using __fastcall seems to have an unexpected negative effect under
MS VC++, especially for function pointers, so we won't use it for
now on that platform. It may be reconsidered for a future release
@@ -40,11 +41,8 @@
Likely reason: __fastcall on Windows is like stdcall, therefore
the compiler cannot perform stack optimizations for call clusters.
*/
-#define FASTCALL
-#define PTRCALL
-#define PTRFASTCALL
-#endif
+/* Make sure all of these are defined if they aren't already. */
#ifndef FASTCALL
#define FASTCALL
More information about the Expat-checkins
mailing list