2015-01-01  Alan Modra  <amodra@gmail.com>

	Update year range in copyright notice of all files.

2014-03-05  Alan Modra  <amodra@gmail.com>

	Update copyright years.

2012-03-08  Tristan Gingold  <gingold@adacore.com>

	* lbr.h (struct vms_lhd): Add comments.

2010-05-27  Tristan Gingold  <gingold@adacore.com>

	* lbr.h: Improve comments.

2010-05-17  Tristan Gingold  <gingold@adacore.com>

	* eidc.h: New file.
	* esgps.h: New file.

2010-05-03  Tristan Gingold  <gingold@adacore.com>

	* dmt.h: Improve comments.

2010-04-30  Tristan Gingold  <gingold@adacore.com>

	* lbr.h (struct vms_kbn): New structure.

2010-04-30  Tristan Gingold  <gingold@adacore.com>

	* lbr.h (LBR__C_TYP_ISHSTB): Added.
	(LHD_SANEID4): Renamed to ...
	(LHD_SANEID6): ...  this.
	(LBR_MAJORID, LBR_ELFMAJORID): New macros.
	(struct vms_rfa): New structure.
	(struct vms_idxdef): Renamed to ...
	(struct vms_idx): ... this.
	(struct vms_idxdef2): Renamed to ...
	(struct vms_elfidx): ... this.
	(ELFIDX__WEAK, ELFIDX__GROUP, ELFIDX__LISTRFA, ELFIDX__SYMESC): New
	macros.
	(struct vms_lhs, struct vms_lns): New structures.
	(struct vms_mhd): Add missing fields.
	(MHD__C_MHDLEN): New macro.

2010-03-31  Tristan Gingold  <gingold@adacore.com>

	* dcx.h: New file.
	* dsc.h: New file.
	* esdfm.h: New file.
	* esdfv.h: New file.
	* internal.h: New file.
	* lbr.h: New file.
	* prt.h: New file.
	* shl.h (struct vms_shl): Add comments.
	* esrf.h (ESRF__B_NAMLNG): New macro.
	* esdf.h (ESDF__B_NAMLNG): New macro.
	* emh.h: Add macros for fields maximum value.
	* eisd.h (EISD__M_PROTECT): Fix typo in comment.
	Add macros for offsets, version, section type and match control.
	Merge vms_eisd_ext into vms_eisd.
	* eihvn.h (EIHVN__MULTI_PROCESSING_BIT, EIHVN__GALAXY_BIT): Added.
	* eihs.h: Remove blank line.
	* eihd.h (struct vms_eihd): Add comments, add image subtype names.
	* eiha.h (struct vms_eiha): Add inishr and inishr_h fields.
	* eiaf.h (struct vms_eiaf): Fix base_va size.
	* egsy.h: Add comments.
	* egsd.h: Remove blank line.
	* egps.h: Add flag names.
	* eeom.h (EEOM__M_WKTFR): Added.
	* dst.h (DST__K_CXX): Added, and reident languages.
	(DST__K_SRC_INCRLNUM_B): Added.
	Indent and order pcline commands.
	Add record begin/end, enumerations, type specification, value
	specification, label, discontinue range definitions.

2010-02-17  Tristan Gingold  <gingold@adacore.com>

	* dmt.h, dst.h, eeom.h, egps.h, egsd.h, egst.h, egsy.h: New Files.
	* eiaf.h, eicp.h, eiha.h, eihd.h, eihi.h, eihs.h, eihvn.h: Ditto.
	* eisd.h, emh.h, eobjrec.h, esdf.h, esrf.h, etir.h, shl.h: Ditto.

Copyright (C) 2010-2015 Free Software Foundation, Inc.

Copying and distribution of this file, with or without modification,
are permitted in any medium without royalty provided the copyright
notice and this notice are preserved.

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
