summaryrefslogtreecommitdiff
path: root/libdecnumber
diff options
context:
space:
mode:
Diffstat (limited to 'libdecnumber')
-rw-r--r--libdecnumber/ChangeLog17
-rw-r--r--libdecnumber/Makefile.in7
-rw-r--r--libdecnumber/decCommon.c2
-rw-r--r--libdecnumber/decContextSymbols.h2
-rw-r--r--libdecnumber/decDPD.h4
-rw-r--r--libdecnumber/decNumberLocal.h2
-rw-r--r--libdecnumber/decNumberSymbols.h2
-rw-r--r--libdecnumber/dpd/decimal128.c4
-rw-r--r--libdecnumber/dpd/decimal128Symbols.h10
-rw-r--r--libdecnumber/dpd/decimal32.c4
-rw-r--r--libdecnumber/dpd/decimal32Symbols.h10
-rw-r--r--libdecnumber/dpd/decimal64.c4
-rw-r--r--libdecnumber/dpd/decimal64Symbols.h10
13 files changed, 62 insertions, 16 deletions
diff --git a/libdecnumber/ChangeLog b/libdecnumber/ChangeLog
index 939e00ec3f2..e46ec032658 100644
--- a/libdecnumber/ChangeLog
+++ b/libdecnumber/ChangeLog
@@ -1,3 +1,20 @@
+2008-01-25 Janis Johnson <janis187@us.ibm.com>
+
+ * Makefile.in (libdecnumber_a_SOURCES): List Symbols headers.
+ * decCommonSymbols.h: New file.
+ * decCommon.c: Include it.
+ * decDPDSymbols.h: New file.
+ * decDPD.h: Include it.
+ * decNumberLocal.h: Include the two new files.
+ * decContextSymbols.h (DECPOWERS, DECSTICKYTAB): New.
+ * decNumberSymbols.h (LNnn, d2utable): New.
+ * dpd/decimal32Symbols.h (COMBEXP, COMBMSD, DPD2BIN, BIN2DPD): New.
+ * dpd/decimal64Symbols.h (COMBEXP, COMBMSD, DPD2BIN, BIN2DPD): New.
+ * dpd/decimal128Symbols.h (COMBEXP, COMBMSD, DPD2BIN, BIN2DPD): New.
+ * dpd/decimal32.c: Remove redefine of DPD2BIN, BIN2DPD.
+ * dpd/decimal64.c: Ditto.
+ * dpd/decimal128.c: Ditto.
+
2007-11-26 Thiago Jung Bauermann <bauerman@br.ibm.com>
* Makefile.in (decimal32.o): Prepend $(srcdir) to dependencies
diff --git a/libdecnumber/Makefile.in b/libdecnumber/Makefile.in
index 7e0b6acfd54..00b16b297dd 100644
--- a/libdecnumber/Makefile.in
+++ b/libdecnumber/Makefile.in
@@ -65,9 +65,10 @@ libdecnumber_a_OBJS = decNumber.o decContext.o \
libdecnumber_a_SOURCES = decContext.c decContext.h decDPD.h \
decNumber.c decNumber.h decNumberLocal.h \
- dpd/decimal128.c dpd/decimal128.h \
- dpd/decimal32.c dpd/decimal32.h \
- dpd/decimal64.c dpd/decimal64.h \
+ decContextSymbols.h decDPDSymbols.h decNumberSymbols.h \
+ dpd/decimal128.c dpd/decimal128.h dpd/decimal128Symbols.h \
+ dpd/decimal32.c dpd/decimal32.h dpd/decimal32Symbols.h \
+ dpd/decimal64.c dpd/decimal64.h dpd/decimal64Symbols.h \
bid/decimal128.c bid/decimal128.h \
bid/decimal32.c bid/decimal32.h \
bid/decimal64.c bid/decimal64.h
diff --git a/libdecnumber/decCommon.c b/libdecnumber/decCommon.c
index 84e1b2ad530..fa16e792e66 100644
--- a/libdecnumber/decCommon.c
+++ b/libdecnumber/decCommon.c
@@ -50,6 +50,8 @@
/* OR) or the rounding mode read; all other fields are ignored and */
/* untouched. */
+#include "decCommonSymbols.h"
+
/* names for simpler testing and default context */
#if DECPMAX==7
#define SINGLE 1
diff --git a/libdecnumber/decContextSymbols.h b/libdecnumber/decContextSymbols.h
index 38830a916dc..46460536597 100644
--- a/libdecnumber/decContextSymbols.h
+++ b/libdecnumber/decContextSymbols.h
@@ -17,6 +17,8 @@
#define decContextTestSavedStatus __decContextTestSavedStatus
#define decContextTestStatus __decContextTestStatus
#define decContextZeroStatus __decContextZeroStatus
+#define DECPOWERS __decPOWERS
+#define DECSTICKYTAB __decSTICKYTAB
#endif
#endif
diff --git a/libdecnumber/decDPD.h b/libdecnumber/decDPD.h
index 8e0347c6aa8..a4710d64391 100644
--- a/libdecnumber/decDPD.h
+++ b/libdecnumber/decDPD.h
@@ -34,7 +34,9 @@
/* ------------------------------------------------------------------------ */
/* ------------------------------------------------------------------------ */
/* For details, see: http://www2.hursley.ibm.com/decimal/DPDecimal.html */
-/* */
+
+#include "decDPDSymbols.h"
+
/* This include file defines several DPD and BCD conversion tables: */
/* */
/* uint16_t BCD2DPD[2458]; -- BCD -> DPD (0x999 => 2457) */
diff --git a/libdecnumber/decNumberLocal.h b/libdecnumber/decNumberLocal.h
index 891a0841c89..c07e8cd6ef4 100644
--- a/libdecnumber/decNumberLocal.h
+++ b/libdecnumber/decNumberLocal.h
@@ -100,6 +100,7 @@
extern const uByte DECSTICKYTAB[10]; /* re-round digits if sticky */
extern const uInt DECPOWERS[10]; /* powers of ten table */
/* The following are included from decDPD.h */
+#include "decDPDSymbols.h"
extern const uShort DPD2BIN[1024]; /* DPD -> 0-999 */
extern const uShort BIN2DPD[1000]; /* 0-999 -> DPD */
extern const uInt DPD2BINK[1024]; /* DPD -> 0-999000 */
@@ -325,6 +326,7 @@
#define DFISSNAN(df) ((DFWORD(df, 0)&0x7e000000)==0x7e000000)
/* Shared lookup tables */
+#include "decCommonSymbols.h"
extern const uInt DECCOMBMSD[64]; /* Combination field -> MSD */
extern const uInt DECCOMBFROM[48]; /* exp+msd -> Combination */
diff --git a/libdecnumber/decNumberSymbols.h b/libdecnumber/decNumberSymbols.h
index e638a070b1c..93558961bcd 100644
--- a/libdecnumber/decNumberSymbols.h
+++ b/libdecnumber/decNumberSymbols.h
@@ -64,6 +64,8 @@
#define decNumberVersion __decNumberVersion
#define decNumberXor __decNumberXor
#define decNumberZero __decNumberZero
+#define LNnn __decLNnn
+#define d2utable __decd2utable
#endif
#endif
diff --git a/libdecnumber/dpd/decimal128.c b/libdecnumber/dpd/decimal128.c
index 6aa98b5a21d..0e32ceb181c 100644
--- a/libdecnumber/dpd/decimal128.c
+++ b/libdecnumber/dpd/decimal128.c
@@ -49,10 +49,6 @@
#include "decimal128.h" /* our primary include */
/* Utility routines and tables [in decimal64.c] */
-/* DPD2BIN and the reverse are renamed to prevent link-time conflict */
-/* if decQuad is also built in the same executable */
-#define DPD2BIN DPD2BINx
-#define BIN2DPD BIN2DPDx
extern const uInt COMBEXP[32], COMBMSD[32];
extern const uShort DPD2BIN[1024];
extern const uShort BIN2DPD[1000]; /* [not used] */
diff --git a/libdecnumber/dpd/decimal128Symbols.h b/libdecnumber/dpd/decimal128Symbols.h
index da9d76beaf6..b30687c2b4b 100644
--- a/libdecnumber/dpd/decimal128Symbols.h
+++ b/libdecnumber/dpd/decimal128Symbols.h
@@ -11,6 +11,16 @@
#define decimal128ToEngString __decimal128ToEngString
#define decimal128ToNumber __decimal128ToNumber
#define decimal128ToString __decimal128ToString
+#define COMBEXP __decnnCOMBEXP
+#define COMBMSD __decnnCOMBMSD
+
+/* DPD2BIN and BIN2DPD are used in support for decimal32/decimal64/decimal128
+ and also in support for decSingle/decDouble/decQuad. Rename them in case
+ both types of support are used in the same executable. */
+#undef DPD2BIN
+#define DPD2BIN __decnnDPD2BIN
+#undef BIN2DPD
+#define BIN2DPD __decnnBIN2DPD
#endif
#endif
diff --git a/libdecnumber/dpd/decimal32.c b/libdecnumber/dpd/decimal32.c
index 692c2f70ecb..42bddf172af 100644
--- a/libdecnumber/dpd/decimal32.c
+++ b/libdecnumber/dpd/decimal32.c
@@ -49,10 +49,6 @@
#include "decimal32.h" /* our primary include */
/* Utility tables and routines [in decimal64.c] */
-/* DPD2BIN and the reverse are renamed to prevent link-time conflict */
-/* if decQuad is also built in the same executable */
-#define DPD2BIN DPD2BINx
-#define BIN2DPD BIN2DPDx
extern const uInt COMBEXP[32], COMBMSD[32];
extern const uShort DPD2BIN[1024];
extern const uShort BIN2DPD[1000];
diff --git a/libdecnumber/dpd/decimal32Symbols.h b/libdecnumber/dpd/decimal32Symbols.h
index de119346c4c..c4aa74fdfd3 100644
--- a/libdecnumber/dpd/decimal32Symbols.h
+++ b/libdecnumber/dpd/decimal32Symbols.h
@@ -11,6 +11,16 @@
#define decimal32ToEngString __decimal32ToEngString
#define decimal32ToNumber __decimal32ToNumber
#define decimal32ToString __decimal32ToString
+#define COMBEXP __decnnCOMBEXP
+#define COMBMSD __decnnCOMBMSD
+
+/* DPD2BIN and BIN2DPD are used in support for decimal32/decimal64/decimal128
+ and also in support for decSingle/decDouble/decQuad. Rename them in case
+ both types of support are used in the same executable. */
+#undef DPD2BIN
+#define DPD2BIN __decnnDPD2BIN
+#undef BIN2DPD
+#define BIN2DPD __decnnBIN2DPD
#endif
#endif
diff --git a/libdecnumber/dpd/decimal64.c b/libdecnumber/dpd/decimal64.c
index 359214e5dbe..c3617c46c08 100644
--- a/libdecnumber/dpd/decimal64.c
+++ b/libdecnumber/dpd/decimal64.c
@@ -49,10 +49,6 @@
#include "decimal64.h" /* our primary include */
/* Utility routines and tables [in decimal64.c]; externs for C++ */
-/* DPD2BIN and the reverse are renamed to prevent link-time conflict */
-/* if decQuad is also built in the same executable */
-#define DPD2BIN DPD2BINx
-#define BIN2DPD BIN2DPDx
extern const uInt COMBEXP[32], COMBMSD[32];
extern const uShort DPD2BIN[1024];
extern const uShort BIN2DPD[1000];
diff --git a/libdecnumber/dpd/decimal64Symbols.h b/libdecnumber/dpd/decimal64Symbols.h
index cf965bf5bd8..efb64463817 100644
--- a/libdecnumber/dpd/decimal64Symbols.h
+++ b/libdecnumber/dpd/decimal64Symbols.h
@@ -11,6 +11,16 @@
#define decimal64ToEngString __decimal64ToEngString
#define decimal64ToNumber __decimal64ToNumber
#define decimal64ToString __decimal64ToString
+#define COMBEXP __decnnCOMBEXP
+#define COMBMSD __decnnCOMBMSD
+
+/* DPD2BIN and BIN2DPD are used in support for decimal32/decimal64/decimal128
+ and also in support for decSingle/decDouble/decQuad. Rename them in case
+ both types of support are used in the same executable. */
+#undef DPD2BIN
+#define DPD2BIN __decnnDPD2BIN
+#undef BIN2DPD
+#define BIN2DPD __decnnBIN2DPD
#endif
#endif