diff options
-rw-r--r-- | libgcc/config/libbid/ChangeLog | 11 | ||||
-rw-r--r-- | libgcc/config/libbid/bid_conf.h | 14 | ||||
-rw-r--r-- | libgcc/config/libbid/decimal_globals.c | 4 |
3 files changed, 25 insertions, 4 deletions
diff --git a/libgcc/config/libbid/ChangeLog b/libgcc/config/libbid/ChangeLog index aa9234c..96ab3e5 100644 --- a/libgcc/config/libbid/ChangeLog +++ b/libgcc/config/libbid/ChangeLog @@ -1,3 +1,14 @@ +2007-07-05 H.J. Lu <hongjiu.lu@intel.com> + + Updated from Intel BID library: + * bid_conf.h (BID_THREAD): Defined. + (__bid_IDEC_glbround): Add BID_THREAD in declaration. + (__bid_IDEC_glbflags): Likewise. + + * decimal_globals.c (__bid_IDEC_glbround): Add BID_THREAD in + declaration. + (__bid_IDEC_glbflags): Likewise. + 2007-07-04 Marius Cornea <marius.cornea@intel.com> H.J. Lu <hongjiu.lu@intel.com> diff --git a/libgcc/config/libbid/bid_conf.h b/libgcc/config/libbid/bid_conf.h index fab4c81..5af98f3 100644 --- a/libgcc/config/libbid/bid_conf.h +++ b/libgcc/config/libbid/bid_conf.h @@ -40,6 +40,12 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #define BID_BIG_ENDIAN LIBGCC2_FLOAT_WORDS_BIG_ENDIAN #endif +#ifndef BID_THREAD +#ifdef USE_TLS +#define BID_THREAD __thread +#endif +#endif + #define _intptr_t_defined #define DECIMAL_CALL_BY_REFERENCE 0 #define DECIMAL_GLOBAL_ROUNDING 1 @@ -50,6 +56,10 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #define SET_STATUS_FLAGS +#ifndef BID_THREAD +#define BID_THREAD +#endif + // If DECIMAL_CALL_BY_REFERENCE is defined then numerical arguments and results // are passed by reference otherwise they are passed by value (except that // a pointer is always passed to the status flags) @@ -140,11 +150,11 @@ typedef unsigned int _IDEC_flags; // could be a struct with diagnostic info #endif #if DECIMAL_GLOBAL_ROUNDING -extern _IDEC_round __bid_IDEC_glbround; +extern BID_THREAD _IDEC_round __bid_IDEC_glbround; #endif #if DECIMAL_GLOBAL_EXCEPTION_FLAGS -extern _IDEC_flags __bid_IDEC_glbflags; +extern BID_THREAD _IDEC_flags __bid_IDEC_glbflags; #endif #if DECIMAL_ALTERNATE_EXCEPTION_HANDLING diff --git a/libgcc/config/libbid/decimal_globals.c b/libgcc/config/libbid/decimal_globals.c index ae33298..8462c2a 100644 --- a/libgcc/config/libbid/decimal_globals.c +++ b/libgcc/config/libbid/decimal_globals.c @@ -30,7 +30,7 @@ Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA #include "bid_functions.h" #if DECIMAL_GLOBAL_ROUNDING - _IDEC_round __bid_IDEC_glbround = ROUNDING_TO_NEAREST; +BID_THREAD _IDEC_round __bid_IDEC_glbround = ROUNDING_TO_NEAREST; void __dfp_set_round (int mode) @@ -46,7 +46,7 @@ __dfp_get_round (void) #endif #if DECIMAL_GLOBAL_EXCEPTION_FLAGS - _IDEC_flags __bid_IDEC_glbflags = EXACT_STATUS; +BID_THREAD _IDEC_flags __bid_IDEC_glbflags = EXACT_STATUS; #include <fenv.h> |