diff options
author | ahze <ahze@df743ca5-7f9a-e211-a948-0013205c9059> | 2005-06-02 09:05:36 +0800 |
---|---|---|
committer | ahze <ahze@df743ca5-7f9a-e211-a948-0013205c9059> | 2005-06-02 09:05:36 +0800 |
commit | b10c110cfe04fdd097086e56c11831054809b0e5 (patch) | |
tree | df348c4839a67204d0dec1fbdb9cdc5a188e098b /www/firefox/files/patch-Double.cpp | |
parent | ae582365a5d1a6050b651b72a1ce72488ca059cd (diff) | |
download | marcuscom-ports-b10c110cfe04fdd097086e56c11831054809b0e5.tar.gz marcuscom-ports-b10c110cfe04fdd097086e56c11831054809b0e5.tar.zst marcuscom-ports-b10c110cfe04fdd097086e56c11831054809b0e5.zip |
- Readd firefox at version 1.1.a1 (deer park alpha1)
- Remove lots of patches that are merged in to firefox now.
- Always use XFT now.
Notes:
o The way we register chrome no longer works I tired to do a workaround but
it didn't work. We might have to go back to the way we used to register
chrome with the X hack stuff. For now you HAVE to run firefox as root
before you can run it as normal user or it won't even start. Hopefully
they will merge the fixes mozilla-devel has so you don't have to register
chrome at all.
o The pis scripts stuff need testing also, I'm not really sure about them?
Release Notes: http://www.mozilla.org/projects/deerpark/releases/alpha1.html
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@4022 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'www/firefox/files/patch-Double.cpp')
-rw-r--r-- | www/firefox/files/patch-Double.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/www/firefox/files/patch-Double.cpp b/www/firefox/files/patch-Double.cpp new file mode 100644 index 000000000..26a1fa563 --- /dev/null +++ b/www/firefox/files/patch-Double.cpp @@ -0,0 +1,61 @@ +$FreeBSD$ + +--- extensions/transformiix/source/base/Double.cpp.orig Thu Jan 30 09:26:46 2003 ++++ extensions/transformiix/source/base/Double.cpp Sun Nov 16 01:46:42 2003 +@@ -51,10 +51,10 @@ + //A trick to handle IEEE floating point exceptions on FreeBSD - E.D. + #ifdef __FreeBSD__ + #include <ieeefp.h> +-#ifdef __alpha__ +-fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP; +-#else ++#if defined(__i386__) + fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP|FP_X_DNML; ++#else ++fp_except_t allmask = FP_X_INV|FP_X_OFL|FP_X_UFL|FP_X_DZ|FP_X_IMP; + #endif + fp_except_t oldmask = fpsetmask(~allmask); + #endif +@@ -75,22 +75,31 @@ + #define TX_DOUBLE_HI32_EXPMASK 0x7ff00000 + #define TX_DOUBLE_HI32_MANTMASK 0x000fffff + ++union ui32dun { ++ PRUint32 i[2]; ++ double d; ++}; ++ + //-- Initialize Double related constants + #ifdef IS_BIG_ENDIAN +-const PRUint32 nanMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK, +- 0xffffffff}; +-const PRUint32 infMask[2] = {TX_DOUBLE_HI32_EXPMASK, 0}; +-const PRUint32 negInfMask[2] = {TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0}; ++const union ui32dun nanMask = ++ {{TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK, 0xffffffff}}; ++const union ui32dun infMask = ++ {{TX_DOUBLE_HI32_EXPMASK, 0}}; ++const union ui32dun negInfMask = ++ {{TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT, 0}}; + #else +-const PRUint32 nanMask[2] = {0xffffffff, +- TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK}; +-const PRUint32 infMask[2] = {0, TX_DOUBLE_HI32_EXPMASK}; +-const PRUint32 negInfMask[2] = {0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT}; ++const union ui32dun nanMask = ++ {{0xffffffff, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_MANTMASK}}; ++const union ui32dun infMask = ++ {{0, TX_DOUBLE_HI32_EXPMASK}}; ++const union ui32dun negInfMask = ++ {{0, TX_DOUBLE_HI32_EXPMASK | TX_DOUBLE_HI32_SIGNBIT}}; + #endif + +-const double Double::NaN = *((double*)nanMask); +-const double Double::POSITIVE_INFINITY = *((double*)infMask); +-const double Double::NEGATIVE_INFINITY = *((double*)negInfMask); ++const double Double::NaN = nanMask.d; ++const double Double::POSITIVE_INFINITY = infMask.d; ++const double Double::NEGATIVE_INFINITY = negInfMask.d; + + /* + * Determines whether the given double represents positive or negative |