2008-04-18  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/35457
	* aclocal.m4: Regenerate.
	* configure: Regenerate.

2008-04-18  Ben Elliston  <bje@au.ibm.com>

	* Makefile.in (distclean): Add gstdint.h.

2008-01-25  Janis Johnson  <janis187@us.ibm.com>

	* decCommonSymbols.h: Commit.
	* decDPDSybmols.h: Commit.

	* 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
	and substitute $< for the source file in compilation command.
	(decimal64.o): Likewise.
	(decimal128.o): Likewise.
	(bid2dpd_dpd2bid.o): Likewise.
	(host-ieee32.o): Likewise.
	(host-ieee64.o): Likewise.
	(host-ieee128.o): Likewise.

2007-10-31  Thiago Jung Bauermann  <bauerman@br.ibm.com>

	* configure.ac: Add ADDITIONAL_OBJS variable.
	* Makefile.in (bid_OBS): New.
	(libdecnumber_a_OBJS): Add ADDITIONAL_OBJS, remove condition
	on enable_decimal_float.
	* configure: Regenerate.

2007-09-10  Janis Johnson  <janis187@us.ibm.com>
	    Ben Elliston  <bje@au.ibm.com>

	* Makefile.in (libdecnumber_a_OBJS): Remove decUtility.o
	(dependencies): Add Symbols headers.
	* decContext.c: Upgrade to decNumber 3.53.
	* decContext.h: Ditto.
	* decDPD.h: Ditto.
	* decNumber.c: Ditto.
	* decNumber.h: Ditto.
	* decNumberLocal.h: Ditto.
	* decBasic.c: New file from decNumber 3.53.
	* decCommon.c: Ditto.
	* decDouble.c: Ditto.
	* decDouble.h: Ditto.
	* decQuad.c: Ditto.
	* decQuad.h: Ditto.
	* decSingle.c: Ditto.
	* decSingle.h: Ditto.
	* decPacked.c: Ditto.
	* decPacked.h: Ditto.
	* dpd/decimal128.c: Upgrade to decNumber 3.53.
	* dpd/decimal128.h: Ditto.
	* dpd/decimal32.c: Ditto.
	* dpd/decimal32.h: Ditto.
	* dpd/decimal64.c: Ditto.
	* dpd/decimal64.h: Ditto.
	* decLibrary.c (__dec_byte_swap): Remove.
	* decContextSymbols.h: New file.
	* decDoubleSymbols.h: New file.
	* decNumberSymbols.h: New file.
	* decPackedSymbols.h: New file.
	* decQuadSymbols.h: New file.
	* decSingleSymbols.h: New file.
	* decUtility.c: Delete file.
	* decUtility.h: Delete file.
	* bid/decimal128Symbols.h: New file.
	* bid/decimal128Local.h: New file.
	* bid/decimal32Symbols.h: New file.
	* bid/decimal64Symbols.h: New file.
	* bid/host-ieee128.c (__swap128): Remove.
	(__host_to_ieee_128, __ieee_to_host_128): Don't handle endianness.
	* bid/host-ieee32.c (__dec_type_swap): Remove.
	(__host_to_ieee_32, __ieee_to_host_32): Don't handle endianness.
	* bid/host-ieee64.c (__swap64): Remove.
	(__host_to_ieee_64, __ieee_to_host_64): Don't handle endianness.
	* dpd/decimal32Symbols.h: New file.
	* dpd/decimal64Symbols.h: New file.
	* dpd/decimal128Symbols.h: New file.
	* dpd/decimal128Local.h: New file.

2007-06-18  Martin Michlmayr  <tbm@cyrius.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	* configure.ac: Add AC_CANONICAL_TARGET.
	* configure: Regenerated.

2007-04-16  H.J. Lu  <hongjiu.lu@intel.com>

	* Makefile.in (aclocal.m4): Depend on stdint.m4 instead of
	acx.m4.

	* aclocal.m4: Regenerated by aclocal 1.9.6.

2007-04-11  Kai Tietz   <kai.tietz@onevision.com>

	* configure: Regenerate.

2007-03-23  Michael Meissner  <michael.meissner@amd.com>
	    H.J. Lu  <hongjiu.lu@intel.com>
	    Marius Cornea  <marius.cornea@intel.com>

	* Makefile.in (enable_decimal_float): New.
	(libdecnumber_a_OBJS): Add bid2dpd_dpd2bid.o, host-ieee32.o,
	host-ieee64.o and host-ieee128.o for BID.
	(libdecnumber_a_SOURCES): Support DPD and BID.
	(decimal32.o): Support dependency for both DPD and BID.
	(decimal64.o): Likewise.
	(decimal128.o): Likewise.
	(bid2dpd_dpd2bid.o): New target.
	(host-ieee32.o): Likewise.
	(host-ieee64.o): Likewise.
	(host-ieee128.o): Likewise.

	* bid/bid-dpd.h: New file.
	* bid/decimal128.c: Likewise.
	* bid/decimal128.h: Likewise.
	* bid/decimal32.c: Likewise.
	* bid/decimal32.h: Likewise.
	* bid/decimal64.c: Likewise.
	* bid/decimal64.h: Likewise.
	* bid/host-ieee128.c: Likewise.
	* bid/host-ieee32.c: Likewise.
	* bid/host-ieee64.c: Likewise.
	* bid/bid2dpd_dpd2bid.c: Likewise.
	* bid/bid2dpd_dpd2bid.h: Likewise.

	* decimal128.c: Moved to ...
	* dpd/decimal128.c: This.
	* decimal128.h:  Moved to ...
	* dpd/decimal128.h: This.
	* decimal32.c: Moved to ...
	* dpd/decimal32.c: This.
	* decimal32.h: Moved to ...
	* dpd/decimal32.h: This.
	* decimal64.c: Moved to ...
	* dpd/decimal64.c: This.
	* decimal64.h: Moved to ...
	* dpd/decimal64.h: This.

	* configure.ac: Support * --enable-decimal-float={no,yes,bid,dpd}.
	Add AC_C_BIGENDIAN.  Substitute enable_decimal_float.
	* config.in: Add decimal support variables.
	* configure: Regenerate.

	PR other/30530
	* decimal128.h (decimal128ClearSign): New.
	(decimal128FlipSign): Likewise.

	* decimal32.h: (decimal32ClearSign): New.
	(decimal32FlipSign): Likewise.

	* decimal64.h (decimal64ClearSign): New.
	(decimal64FlipSign): Likewise.

2007-03-08  Ben Elliston  <bje@au.ibm.com>

	* decContext.c, decContext.h, decDPD.h, decimal128.c,
	decimal128.h, decimal32.c, decimal32.h, decimal64.c, decimal64.h,
	decLibrary.c, decNumber.c, decNumber.h, decNumberLocal.h,
	decRound.c, decRound.h, decUtility.c, decUtility.h: Add
	libgcc-style license exception clause.

2007-03-01  Brooks Moses  <brooks.moses@codesourcery.com>

	* Makefile.in: Add dummy install-pdf target.

2007-01-29  Janis Johnson  <janis187@us.ibm.com>

	* decExcept.c: New.
	* decExcept.h: New.

2006-11-29  Janis Johnson  <janis187@us.ibm.com>

	* decRound.c: Move declarations to new file, update comments.
	* decRound.h: New file.

2006-11-21  Janis Johnson  <janis187@us.ibm.com>

	* decLibrary.c (__dec_type_swap): Add prototype.
	(__dfp_enable_traps, dfp_raise): Delete.

	* Makefile.in: Don't include decRound in library used by compiler.

2006-10-10  Brooks Moses  <bmoses@stanford.edu> 
	* Makefile.in: Added empty "pdf" target.

2006-09-15  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* decNumber.c (decNumberPower): Constify.
	* decNumber.h (decNumberPower): Likewise.

2006-09-07  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* configure.ac (ACX_PROG_CC_WARNING_OPTS): Add -Wcast-qual.
	* configure, config.in: Regenerate.

	* decContext.c (decContextStatusToString): Constify.
	* decContext.h (decContextStatusToString): Likewise.
	* decNumber.c (decNumberToString, decNumberToEngString,
	decNumberAbs, decNumberAdd, decNumberCompare, decNumberDivide,
	decNumberDivideInteger, decNumberMax, decNumberMin,
	decNumberMinus, decNumberPlus, decNumberMultiply,
	decNumberNormalize, decNumberQuantize, decNumberRescale,
	 decNumberRemainder, decNumberRemainderNear,
	decNumberSameQuantum, decNumberSquareRoot, decNumberSubtract,
	decNumberToIntegralValue, decNumberCopy, decToString, decAddOp,
	decDivideOp, decMultiplyOp, decQuantizeOp, decCompareOp,
	decCompare, decUnitCompare, decUnitAddSub, decRoundOperand,
	decCopyFit, decSetCoeff, decGetInt, decNaNs, decGetDigits,
	decNumberShow, decDumpAr, decCheckOperands, decCheckNumber):
	Likewise.
	* decNumber.h (decNumberToString, decNumberToEngString,
	decNumberAbs, decNumberAdd, decNumberCompare, decNumberDivide,
	decNumberDivideInteger, decNumberMax, decNumberMin,
	decNumberMinus, decNumberMultiply, decNumberNormalize,
	decNumberPlus, decNumberQuantize, decNumberRemainder,
	 decNumberRemainderNear, decNumberRescale,
	decNumberSameQuantum, decNumberSquareRoot, decNumberSubtract,
	decNumberToIntegralValue, decNumberCopy): Likewise.
	* decUtility.c (decDensePackCoeff, decDenseUnpackCoeff):
	Likewise.
	* decUtility.h (decDensePackCoeff, decDenseUnpackCoeff):
	Likewise.
	* decimal128.c (decimal128FromNumber, decimal128ToNumber,
	decimal128ToString, decimal128ToEngString, decimal128Show):
	Likewise.
	* decimal128.h (decimal128ToString, decimal128ToEngString,
	decimal128FromNumber, decimal128ToNumber): Likewise.
	* decimal32.c (decimal32FromNumber, decimal32ToNumber,
	decimal32ToString, decimal32ToEngString, decimal32Show):
	Likewise.
	* decimal32.h (decimal32ToString, decimal32ToEngString,
	decimal32FromNumber, decimal32ToNumber): Likewise.
	* decimal64.c (decimal64FromNumber, decimal64ToNumber,
	decimal64ToString, decimal64ToEngString, decimal64Show):
	Likewise.
	* decimal64.h (decimal64ToString, decimal64ToEngString,
	decimal64FromNumber, decimal64ToNumber): Likewise.

2006-08-21  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* decContext.c (decContextSetStatusFromString): Constify.
	* decContext.h (decContextSetStatusFromString): Likewise.
	* decNumber.c (decNumberFromString): Likewise.
	* decNumber.h (decNumberFromString): Likewise.
	* decimal128.c (decimal128FromString): Likewise.
	* decimal128.h (decimal128FromString): Likewise.
	* decimal32.c (decimal32FromString): Likewise.
	* decimal32.h (decimal32FromString): Likewise.
	* decimal64.c (decimal64FromString): Likewise.
	* decimal64.h (decimal64FromString): Likewise.

2006-07-25  Paolo Bonzini  <bonzini@gnu.org>

	PR build/26188
	* configure: Regenerate.

2006-06-23  Ben Elliston  <bje@au.ibm.com>

	* decNumber.h (decNumberNegate): Remove.

2006-05-23  Carlos O'Donell  <carlos@codesourcery.com>

	* Makefile.in: Add install-html target. Add install-html to .PHONY

2006-02-06  Ben Elliston  <bje@au.ibm.com>

	* decLibrary.c (__dec_byte_swap): Use uint32_t for argument and
	return types.

2006-01-03  Roger Sayle  <roger@eyesopen.com>
	    Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* decNumber.c (__NO_STRING_INLINES): Define to prevent glibc macro
	definition of strcpy from generating compilation warnings.

2006-01-02  Paolo Bonzini  <bonzini@gnu.org>

        PR target/25259
        * configure.ac: Use GCC_HEADER_STDINT.
        * decContext.h: Include gstdint.h.
        * aclocal.m4: Regenerate.
        * configure: Regenerate.

2005-12-20  Roger Sayle  <roger@eyesopen.com>

	* decNumber.c (decStrEq): Cast string contents to unsigned char
	instead of int before calling tolower.

2005-12-20  Roger Sayle  <roger@eyesopen.com>

	* decNumber.c (decStrEq): Cast operands to int before calling
	tolower to avoid compilation warnings on Tru64.

2005-12-05  Ben Elliston  <bje@au.ibm.com>

	* Makefile.in (clean): Remove stray reference to libcpp.a.

	* decimal128.h, decContext.c, decRound.c, decimal32.c,
	decNumber.c, decContext.h, decimal64.c, decimal32.h, decNumber.h,
	decimal64.h, decUtility.c, decLibrary.c, configure.ac,
	decNumberLocal.h, decUtility.h, decDPD.h, decimal128.c: Update FSF
	office address.

2005-12-01  Ben Elliston  <bje@au.ibm.com>

	* Makefile.in (libdecnumber_a_SOURCES): Drop decLibrary.c.
	* decUtility.c (__dec_byte_swap): Move from here ..
	* decLibrary.c: .. to here.

2005-11-23  Gerald Pfeifer  <gerald@pfeifer.com>

	* decContext.h: Properly guard inclusion of stdint.h
	* decContext.c: Include config.h
	* decLibrary.c: Ditto.
	* decNumber.c: Ditto.
	* decRound.c: Ditto.
	* decUtility.c: Ditto.
	* decimal32.c: Ditto.
	* decimal64.c: Ditto.
	* decimal128.c: Ditto.
	
2005-11-29  Ben Elliston  <bje@au.ibm.com>

	* decUtility.c: Remove redundant #includes.
	* decUtility.h (__dec_byte_swap): Remove prototype.

2005-11-29  Ben Elliston  <bje@au.ibm.com>

	* configure.ac: New file.
	* aclocal.m4: Likewise.
	* Makefile.in: Likewise.
	* configure: Generate.
	* config.in: Likewise.

2005-11-29  Ben Elliston  <bje@au.ibm.com>

	* decimal32.h, decimal64.h, decimal128.h: New.
        * decimal32.c, decimal64.c, decimal128.c: Likewise.
	* decContext.c, decContext.h: Likewise.
	* decUtility.c, decUtility.h: Likewise.
	* decNumber.c, decNumber.h, decNumberLocal.h: Likewise.
	* decDPD.h: Likewise.
	* decLibrary.c, decRound.c: Likewise.
