Updated from Intel BID library:
authorH.J. Lu <hongjiu.lu@intel.com>
Thu, 5 Jul 2007 13:19:38 +0000 (13:19 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Thu, 5 Jul 2007 13:19:38 +0000 (06:19 -0700)
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.

From-SVN: r126369

libgcc/config/libbid/ChangeLog
libgcc/config/libbid/bid_conf.h
libgcc/config/libbid/decimal_globals.c

index aa9234c..96ab3e5 100644 (file)
@@ -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>
 
index fab4c81..5af98f3 100644 (file)
@@ -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
index ae33298..8462c2a 100644 (file)
@@ -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>