aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libgcc/config/libbid/ChangeLog11
-rw-r--r--libgcc/config/libbid/bid_conf.h14
-rw-r--r--libgcc/config/libbid/decimal_globals.c4
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>