diff options
author | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2005-03-05 09:49:03 +0800 |
---|---|---|
committer | marcus <marcus@df743ca5-7f9a-e211-a948-0013205c9059> | 2005-03-05 09:49:03 +0800 |
commit | 8873c153d07a5669df16174aa06e9d969dfd5722 (patch) | |
tree | cf70af68f63fda720f8e0120672329f90d0ba313 /www/firefox10/files/patch-Double.cpp | |
parent | 72cb2251c71ff3fe3c4cee60afd708a1d7399d2c (diff) | |
download | marcuscom-ports-8873c153d07a5669df16174aa06e9d969dfd5722.tar marcuscom-ports-8873c153d07a5669df16174aa06e9d969dfd5722.tar.gz marcuscom-ports-8873c153d07a5669df16174aa06e9d969dfd5722.tar.bz2 marcuscom-ports-8873c153d07a5669df16174aa06e9d969dfd5722.tar.lz marcuscom-ports-8873c153d07a5669df16174aa06e9d969dfd5722.tar.xz marcuscom-ports-8873c153d07a5669df16174aa06e9d969dfd5722.tar.zst marcuscom-ports-8873c153d07a5669df16174aa06e9d969dfd5722.zip |
Update freetype2 to 2.1.9, and fix Mozilla and Firefox so that they compile
against it. Since there is no ABI change in 2.1.9, we do not need to
bump the PORTREVISIONs for mozilla and firefox.
PR: 78385
Submitted by: lesi
git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@3806 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'www/firefox10/files/patch-Double.cpp')
-rw-r--r-- | www/firefox10/files/patch-Double.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/www/firefox10/files/patch-Double.cpp b/www/firefox10/files/patch-Double.cpp new file mode 100644 index 000000000..a9b570c5d --- /dev/null +++ b/www/firefox10/files/patch-Double.cpp @@ -0,0 +1,61 @@ +$FreeBSD: ports/www/firefox/files/patch-Double.cpp,v 1.3 2004/02/11 07:16:17 marcus Exp $ + +--- 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 |