31 lines
1.1 KiB
Diff
31 lines
1.1 KiB
Diff
diff -ur kdelibs-4.2.1/kjs/dtoa.cpp kdelibs-4.2.1-kjs-gcc44-crash/kjs/dtoa.cpp
|
|
--- kdelibs-4.2.1/kjs/dtoa.cpp 2008-05-21 13:06:47.000000000 +0200
|
|
+++ kdelibs-4.2.1-kjs-gcc44-crash/kjs/dtoa.cpp 2009-03-03 20:18:46.000000000 +0100
|
|
@@ -299,6 +299,15 @@
|
|
#define word0(x) ((ULong *)&x)[0]
|
|
#define word1(x) ((ULong *)&x)[1]
|
|
#endif
|
|
+#elif defined __GNUC__
|
|
+#define dval(x) x
|
|
+#ifdef IEEE_8087
|
|
+#define word0(x) (__extension__ ((U) { d: (x) }).L[1])
|
|
+#define word1(x) (__extension__ ((U) { d: (x) }).L[0])
|
|
+#else
|
|
+#define word0(x) (__extension__ ((U) { d: (x) }).L[0])
|
|
+#define word1(x) (__extension__ ((U) { d: (x) }).L[1])
|
|
+#endif
|
|
#else
|
|
#ifdef IEEE_8087
|
|
#define word0(x) ((U*)&x)->L[1]
|
|
@@ -314,7 +323,9 @@
|
|
* An alternative that might be better on some machines is
|
|
* #define Storeinc(a,b,c) (*a++ = b << 16 | c & 0xffff)
|
|
*/
|
|
-#if defined(IEEE_8087) + defined(VAX)
|
|
+#if !defined(YES_ALIAS) && defined(__GNUC__)
|
|
+#define Storeinc(a,b,c) (*a++ = b << 16 | (c & 0xffff))
|
|
+#elif defined(IEEE_8087) + defined(VAX)
|
|
#define Storeinc(a,b,c) (((unsigned short *)a)[1] = (unsigned short)b, \
|
|
((unsigned short *)a)[0] = (unsigned short)c, a++)
|
|
#else
|