2017-10-10  Release Manager

	* GCC 5.5.0 released.

2016-06-03  Release Manager

	* GCC 5.4.0 released.

2015-12-04  Release Manager

	* GCC 5.3.0 released.

2015-07-16  Release Manager

	* GCC 5.2.0 released.

2015-04-22  Release Manager

	* GCC 5.1.0 released.

2015-01-05  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2014-11-11  David Malcolm  <dmalcolm@redhat.com>

	* ChangeLog.jit: New.

2014-01-23  Marek Polacek  <polacek@redhat.com>

	PR c/59871
	* decNumberLocal.h (UBFROMUS, UBFROMUI): Remove last argument.

2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>

	Update copyright years

2013-10-15  David Malcolm  <dmalcolm@redhat.com>

	* Makefile.in (PICFLAG): New.
	(ALL_CFLAGS): Add PICFLAG.
	* configure.ac: Add --enable-host-shared, setting up new
	PICFLAG variable.
	* configure: Regenerate.

2013-07-09  Simon Baldwin  <simonb@google.com>

	* configure.ac: Add AC_CONFIG_AUX_DIR.
	* configure: Regenerated.
		
2013-03-27  Kai Tietz  <ktietz@redhat.com>

	* configure: Regenerated.

2013-02-06  Richard Sandiford  <rdsandiford@googlemail.com>

	Update copyright years.

2012-11-04  Thomas Schwinge  <thomas@codesourcery.com>

	* configure: Regenerate.

2011-12-20  Andreas Schwab  <schwab@linux-m68k.org>

	* configure: Regenerate.

2011-12-19  Andreas Schwab  <schwab@linux-m68k.org>

	* configure: Regenerate.

2011-04-20  Jim Meyering  <meyering@redhat.com>

	* decNumber.c (decNumberFromString): Remove useless
	if-before-free test.
	(decNumberCompareTotalMag, decNumberExp, decNumberFMA): Likewise.
	(decNumberLn, decNumberLog10, decNumberPower): Likewise.
	(decNumberReduce, decNumberSquareRoot, decAddOp): Likewise.
	(decDivideOp, NEEDTWO, decExpOp, LN2): Likewise.

2011-03-28  Mike Frysinger  <vapier@gentoo.org>

	* .gitignore: New file.

2010-11-24  Nathan Froyd  <froydnj@codesourcery.com>

	* dconfig.h (LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Delete.
	(WORDS_BIG_ENDIAN): Define based on value of __FLOAT_WORD_ORDER__.

2010-10-23  Nathan Froyd  <froydnj@codesourcery.com>

	* dconfig.h (LIBGCC2_WORDS_BIG_ENDIAN): Delete.
	(LIBGCC2_FLOAT_WORDS_BIG_ENDIAN): Test __BYTE_ORDER__.

2010-09-10  Kai Tietz  <kai.tietz@onevision.com>

       * configure: Regenerated.

2010-09-08  Tristan Gingold  <gingold@adacore.com>

	PR 44001
	* Makefile.in (objext): New variable.
	(bid_OBJS): Use $(objext) for extension.
	(libdecnumber_a_OBJS): Ditto.
	(mostlyclean): Ditto
	(.c.o): Ditto.
	Update dependencies.

2010-09-06  H.J. Lu  <hongjiu.lu@intel.com>

	PR target/45524
	* configure.ac (enable_decimal_float): Set to
	$default_decimal_float.
	* configure: Regenerated.

2010-09-06  Andreas Schwab  <schwab@redhat.com>

	* configure: Regenerate.

2010-09-03  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* configure.ac: Use the GCC_AC_ENABLE_DECIMAL_FLOAT macro.
	* Makefile.in: Add aclocal.m4 dependency to dfp.m4.
	* configure: Regenerate.
	* aclocal.m4: Regenerate.

2010-08-21  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure: Regenerate.

2010-04-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* aclocal.m4: Regenerate.

2010-01-05  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* configure: Regenerate.

2009-11-28  Jakub Jelinek  <jakub@redhat.com>

	* decContext.c (decContextTestEndian): Move adj definition into
	#if DECCHECK guarded code.

2009-09-09  Paolo Bonzini  <bonzini@gnu.org>

	* configure: Regenerate.

2009-09-08  Paolo Bonzini  <bonzini@gnu.org>

	* configure: Regenerate.

2009-08-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* configure.ac (AC_PREREQ): Bump to 2.64.

2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* aclocal.m4: Regenerate.
	* configure: Regenerate.
	* config.in: Regenerate.

2009-08-13  Janis Johnson  <janis187@us.ibm.com>

	PR c/41046
	* decContext.c (decContextTestEndian): Call printf only if DECCHECK.
	* decCommon.c ( decFloatShow): Define function only for DECCHECK
	or DECTRACE.

2009-07-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in (aclocal_deps): New variable.
	($(srcdir)/aclocal.m4): Use it, for portable makefile syntax.

2009-05-31  Ian Lance Taylor  <iant@google.com>

	* decContext.h: Add extern "C" if compiling with C++.
	* decDPD.h: Likewise.
	* decNumber.h: Likewise.
	* dpd/decimal32.h: Likewise.
	* dpd/decimal64.h: Likewise.
	* dpd/decimal128.h: Likewise.

2009-04-09  Nick Clifton  <nickc@redhat.com>

	* decRound.c: Change copyright header to refer to version 3 of
	the GNU General Public License with version 3.1 of the GCC
	Runtime Library Exception and to point readers at the COPYING3
	and COPYING3.RUNTIME files and the FSF's license web page.
	* bid/bid-dpd.h: Likewise.
	* bid/bid2dpd_dpd2bid.c: Likewise.
	* bid/bid2dpd_dpd2bid.h: Likewise.
	* bid/decimal128.c: Likewise.
	* bid/decimal32.c: Likewise.
	* bid/decimal64.c: Likewise.
	* bid/host-ieee128.c: Likewise.
	* bid/host-ieee32.c: Likewise.
	* bid/host-ieee64.c: Likewise.
	* dconfig.h: Likewise.
	* decBasic.c: Likewise.
	* decCommon.c: Likewise.
	* decContext.c: Likewise.
	* decContext.h: Likewise.
	* decDPD.h: Likewise.
	* decDouble.c: Likewise.
	* decDouble.h: Likewise.
	* decExcept.c: Likewise.
	* decExcept.h: Likewise.
	* decLibrary.c: Likewise.
	* decNumber.c: Likewise.
	* decNumber.h: Likewise.
	* decNumberLocal.h: Likewise.
	* decPacked.c: Likewise.
	* decPacked.h: Likewise.
	* decQuad.c: Likewise.
	* decQuad.h: Likewise.
	* decRound.h: Likewise.
	* decSingle.c: Likewise.
	* decSingle.h: Likewise.
	* dpd/decimal128.c: Likewise.
	* dpd/decimal128.h: Likewise.
	* dpd/decimal128Local.h: Likewise.
	* dpd/decimal32.c: Likewise.
	* dpd/decimal32.h: Likewise.
	* dpd/decimal64.c: Likewise.
	* dpd/decimal64.h: Likewise.

2009-04-09  Jakub Jelinek  <jakub@redhat.com>

	* Makefile.in: Change copyright header to refer to version
	3 of the GNU General Public License and to point readers at the
	COPYING3 file and the FSF's license web page.
	* configure.ac: Likewise.

2009-04-01  Ben Elliston  <bje@au.ibm.com>

        * decContext.h: Include gstdint.h instead of <stdint.h>.

2009-03-30  Ben Elliston  <bje@au.ibm.com>

	* decNumber.c, decNumber.h, decNumberLocal.h, decDouble.c,
	decDouble.h, decSingle.c, decContext.c, decSingle.h, decPacked.c,
	decCommon.c, decContext.h, decQuad.c, decPacked.h, decQuad.h,
	decDPD.h, decBasic.c: Upgrade to decNumber 3.61.
	* dpd/decimal128.h, dpd/decimal32.c, dpd/decimal32.h,
	dpd/decimal64.c, dpd/decimal128.c, dpd/decimal64.h: Likewise.

2009-02-10  Joseph Myers  <joseph@codesourcery.com>

	* Makefile.in (clean): Don't remove makedepend$(EXEEXT).

2008-10-27  Janis Johnson  <janis187@us.ibm.com>

	PR other/37897
	* decDouble.h (decDouble): Replace struct with union accessible
	by more types.
	* decSingle.h (decSingle): Ditto.
	* decQuad.h (decQuad): Ditto.
	* decNumberLocal.h (DFWORD, DFBYTE, DFWWORD): access decFloat via
	new members.
	* decBasic.c (decFloatCompareTotal): Avoid type-pun violation.
	(decNumberCompare): Ditto.

2008-06-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in ($(srcdir)/aclocal.m4): Update dependencies.
	* configure: Regenerate.

2008-06-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* Makefile.in (datarootdir): New variable.

2008-06-10  Joseph Myers  <joseph@codesourcery.com>

	* dconfig.h: New.
	* decContext.c, decExcept.c, decExcept.h, decLibrary.c,
	decNumber.c, decNumberLocal.h, decRound.c, dpd/decimal128.c,
	dpd/decimal32.c, dpd/decimal64.c: Include dconfig.h not config.h.
	* dpd/decimal128Local.h (decimal128SetSign, decimal128ClearSign,
	decimal128FlipSign): Use WORDS_BIGENDIAN not
	FLOAT_WORDS_BIG_ENDIAN.
	* bid/host-ieee128.c: Include dconfig.h.
	(__host_to_ieee_128, __ieee_to_host_128): Swap 64-bit halves of
	value if WORDS_BIGENDIAN.

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.
