2021-04-27  Release Manager

	* GCC 11.1.0 released.

2021-03-31  Patrick Palka  <ppalka@redhat.com>

	PR c++/88115
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_VENDOR_EXPR.

2021-01-16  Kwok Cheung Yeung  <kcy@codesourcery.com>

	* gomp-constants.h (GOMP_TASK_FLAG_DETACH): New.

2021-01-03  Mike Frysinger  <vapier@gentoo.org>

	* libiberty.h (strverscmp): Delete duplicate prototype.

2020-12-09  Andrew Stubbs  <ams@codesourcery.com>

	* hsa.h: Replace whole file.
	* hsa_ext_amd.h: New file.
	* hsa_ext_image.h: New file.

2020-09-24  Mark Wielaard  <mark@klomp.org>

	* dwarf2.def: Add DWARF5 Unit type header encoding macros
	DW_UT_FIRST, DW_UT and DW_UT_END.
	* dwarf2.h (enum dwarf_unit_type): Removed and define using
	DW_UT_FIRST, DW_UT and DW_UT_END macros.
	(DW_CIE_VERSION): Removed.
	(get_DW_UT_name): New function declaration.

2020-09-15  Tobias Burnus  <tobias@codesourcery.com>

	PR fortran/96668
	* gomp-constants.h (GOMP_MAP_ALWAYS_POINTER_P): Define.

2020-09-09  Caroline Tice  <cmtice@google.com>

	* dwarf2.h (enum dwarf_sect_v5): A new enum section for the
	sections in a DWARF 5 DWP file (DWP version 5).

2020-09-09  Caroline Tice  <cmtice@google.com>

	* dwarf2.h (enum dwarf_sect_v5): A new enum section for the
	sections in a DWARF 5 DWP file (DWP version 5).

2020-09-08  Felix Willgerodt  <felix.willgerodt@intel.com>

	* floatformat.h (floatformat_bfloat16_big): New.
	(floatformat_bfloat16_little): New.

2020-08-03  Martin Jambor  <mjambor@suse.cz>

	* gomp-constants.h (GOMP_VERSION_HSA): Remove.

2020-07-09  Julian Brown  <julian@codesourcery.com>
	    Thomas Schwinge  <thomas@codesourcery.com>

	PR middle-end/95270
	* gomp-constants.h (gomp_map_kind): Expand comment for attach/detach
	mapping kinds.

2020-07-09  Julian Brown  <julian@codesourcery.com>

	* gomp-constants.h (gomp_map_kind): Update comment for GOMP_MAP_TO_PSET.

2020-06-26  Nick Clifton  <nickc@redhat.com>

	* libiberty.h (bsearch_r): Remove use of the register keyword from
	the prototype.

2020-06-23  Nick Alcock  <nick.alcock@oracle.com>

	* libiberty.h (bsearch_r): New.

2020-04-17  Martin Liska  <mliska@suse.cz>
	    Jonathan Yong <10walls@gmail.com>

	PR gcov-profile/94570
	* filenames.h (defined): Do not define HAVE_DOS_BASED_FILE_SYSTEM
	for CYGWIN.

2020-04-01 Maciej W. Rozycki <macro@linux-mips.org>

	PR lto/94249
	* plugin-api.h: Fix a typo.

2020-03-24  Martin Liska  <mliska@suse.cz>

	PR lto/94249
	* plugin-api.h: Add more robust endianess detection.

2020-03-21  Martin Liska  <mliska@suse.cz>

	* plugin-api.h (enum ld_plugin_symbol_type): Remove
	comma after last value of an enum.
	* lto-symtab.h (enum gcc_plugin_symbol_type): Likewise.

2020-03-19  Martin Liska  <mliska@suse.cz>

	* lto-symtab.h (enum gcc_plugin_symbol_type): New.
	(enum gcc_plugin_symbol_section_kind): Likewise.

2020-03-19  Martin Liska  <mliska@suse.cz>

	* plugin-api.h (struct ld_plugin_symbol): Split
	int def into 4 char fields.
	(enum ld_plugin_symbol_type): New.
	(enum ld_plugin_symbol_section_kind): New.
	(enum ld_plugin_tag): Add LDPT_ADD_SYMBOLS_V2.

2020-02-05  Andrew Burgess  <andrew.burgess@embecosm.com>

	* hashtab.h (htab_remove_elt): Make a parameter const.
	(htab_remove_elt_with_hash): Likewise.

2020-01-10  Thomas Schwinge  <thomas@codesourcery.com>

	* gomp-constants.h (enum gomp_device_property): Remove.

2020-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2019-12-22  Maciej W. Rozycki  <macro@codesourcery.com>
	    Frederik Harwath  <frederik@codesourcery.com>
	    Thomas Schwinge  <tschwinge@codesourcery.com>

	* gomp-constants.h (gomp_device_property): New enum.

2019-12-19  Julian Brown  <julian@codesourcery.com>

	* gomp-constants.h (gomp_map_kind): Add GOMP_MAP_ATTACH_DETACH.

2019-12-19  Julian Brown  <julian@codesourcery.com>

	* gomp-constants.h (GOMP_MAP_FLAG_SPECIAL_4, GOMP_MAP_DEEP_COPY):
	Define.
	(gomp_map_kind): Add GOMP_MAP_ATTACH, GOMP_MAP_DETACH,
	GOMP_MAP_FORCE_DETACH.

2019-12-19  Julian Brown  <julian@codesourcery.com>
	    Maciej W. Rozycki  <macro@codesourcery.com>
	    Tobias Burnus  <tobias@codesourcery.com>
	    Thomas Schwinge  <thomas@codesourcery.com>

	* gomp-constants.h (gomp_map_kind): Support GOMP_MAP_NO_ALLOC.

2019-11-16  Tim Ruehsen  <tim.ruehsen@gmx.de>

	* demangle.h (struct demangle_component): Add member
	d_counting.

2019-11-16  Eduard-Mihai Burtescu  <eddyb@lyken.rs>

	* demangle.h (rust_demangle_callback): Add.

2019-11-13  Andrew Stubbs  <ams@codesourcery.com>
	    Kwok Cheung Yeung  <kcy@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>
	    Tom de Vries  <tom@codesourcery.com>

	* gomp-constants.h (GOMP_DEVICE_GCN): Define.
	(GOMP_VERSION_GCN): Define.

2019-08-08  Martin Liska  <mliska@suse.cz>

	PR bootstrap/91352
	* libiberty.h (is_valid_fd): New function.

2019-07-18  Eduard-Mihai Burtescu  <eddyb@lyken.rs>

	* demangle.h (rust_is_mangled): Move to libiberty/rust-demangle.h.
	(rust_demangle_sym): Move to libiberty/rust-demangle.h.

2019-06-18  Thomas Schwinge  <thomas@codesourcery.com>

	* gomp-constants.h (enum gomp_map_kind): Fix description of
	'GOMP_MAP_FIRSTPRIVATE'.

2019-06-10  Martin Liska  <mliska@suse.cz>

	* ansidecl.h (ATTRIBUTE_WARN_UNUSED_RESULT): New macro.
	* libiberty.h (xmalloc): Use it.
	(xrealloc): Likewise.
	(xcalloc): Likewise.
	(xstrdup): Likewise.
	(xstrndup): Likewise.
	(xmemdup): Likewise.

2019-06-10  Martin Liska  <mliska@suse.cz>

	* ansidecl.h:
	(ATTRIBUTE_RESULT_SIZE_1): Define new macro.
	(ATTRIBUTE_RESULT_SIZE_2): Likewise.
	(ATTRIBUTE_RESULT_SIZE_1_2): Likewise.
	* libiberty.h (xmalloc): Add RESULT_SIZE attribute.
	(xrealloc): Likewise.
	(xcalloc): Likewise.

2019-04-26  Michael Forney  <mforney@mforney.org>

	* libiberty.h (vasprintf): Don't declare if HAVE_DECL_VASPRINTF
	is not defined.

2019-04-03  Vineet Gupta  <vgupta@synopsys.com>

	PR89877
	* longlong.h [__arc__] (add_ssaaaa): Add cc clobber.
	(sub_ddmmss): Likewise.

2019-02-11  Philippe Waroquiers  <philippe.waroquiers@skynet.be>

	* splay-tree.h (splay_tree_delete_key_fn): Update comment.
	(splay_tree_delete_value_fn): Likewise.

2019-01-09  Sandra Loosemore  <sandra@codesourcery.com>

	PR other/16615

	* libiberty.h: Mechanically replace "can not" with "cannot".
	* plugin-api.h: Likewise.

2019-01-01  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2018-12-28  Thomas Schwinge  <thomas@codesourcery.com>

	* gomp-constants.h (GOACC_FLAG_HOST_FALLBACK)
	(GOACC_FLAGS_MARSHAL_OP, GOACC_FLAGS_UNMARSHAL): Define.

2018-12-22  Jason Merrill  <jason@redhat.com>

	* demangle.h: Remove support for ancient GNU (pre-3.0), Lucid,
	ARM, HP, and EDG demangling styles.

2018-12-11  Nick Clifton  <nickc@redhat.com>

	PR 88409
	* demangle.h (DEMANGLE_RECURSION_LIMIT): Increase to 2048.

2018-12-07  Nick Clifton  <nickc@redhat.com>

	* demangle.h (DMGL_NO_RECURSE_LIMIT): Define.
        (DEMANGLE_RECURSION_LIMIT): Define

2018-11-08  Jakub Jelinek  <jakub@redhat.com>

	* gomp-constants.h (GOMP_TASK_FLAG_REDUCTION,
	GOMP_DEPEND_IN, GOMP_DEPEND_OUT, GOMP_DEPEND_INOUT,
	GOMP_DEPEND_MUTEXINOUTSET): Define.

2018-10-19  Jason Merrill  <jason@redhat.com>

	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_TPARM_OBJ.

2018-10-29  David Malcolm  <dmalcolm@redhat.com>

	* unique-ptr.h (gnu::move): Generalize so it applies to all
	lvalue references, rather than just to unique_ptr values.

2018-07-26  Martin Liska  <mliska@suse.cz>

	PR lto/86548
	* libiberty.h (make_temp_file_with_prefix): New function.

2018-05-30  Jan Hubicka  <hubicka@ucw.cz>

	* simple-object.h (simple_object_copy_lto_debug_sections): Add rename
	parameter.

2018-05-28  Bernd Edlinger  <bernd.edlinger@hotmail.de>

	* splay-tree.h (splay_tree_compare_strings,
	splay_tree_delete_pointers): Declare new utility functions.

2018-05-24  Tom Rix  <trix@juniper.net>

	* dwarf2.def (DW_FORM_strx*, DW_FORM_addrx*): New.

2018-05-02  Alan Modra  <amodra@gmail.com>

	* ansidecl.h (ATTRIBUTE_NONSTRING): Define.

2018-05-01  Sriraman Tallam  <tmsriram@google.com>

	* plugin-api.h: Add plugin API to get the list of wrap
	symbols.

2018-02-09  Alexandre Oliva <aoliva@redhat.com>

	* dwarf2.def (DW_AT_GNU_entry_view): New.

	* dwarf2.def (DW_AT_GNU_locviews): New.
	* dwarf2.h (enum dwarf_location_list_entry_type): Add
	DW_LLE_GNU_view_pair.
	(DW_LLE_view_pair): Define.

2018-01-03  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2017-11-20  Kito Cheng  <kito.cheng@gmail.com>

	* longlong.h [__riscv] (__umulsidi3): Define.
	[__riscv] (umul_ppmm): Likewise.
	[__riscv] (__muluw3): Likewise.

2017-11-10  Stephen Crane <sjc@immunant.com>

	* plugin-api.h: Add plugin API for processing plugin-added
	input files.

2017-10-23  David Malcolm  <dmalcolm@redhat.com>

	* unique-ptr.h: Make include of <memory> conditional on C++11 or
	later.

2017-10-16  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
	    David Malcolm  <dmalcolm@redhat.com>

	* unique-ptr.h: New file.

2017-09-15  Yao Qi  <yao.qi@linaro.org>
	    Pedro Alves  <palves@redhat.com>

	* ansidecl.h (DISABLE_COPY_AND_ASSIGN): New macro.

2017-09-12  Jiong Wang  <jiong.wang@arm.com>

	* dwarf2.def (DW_CFA_AARCH64_negate_ra_state): New DW_CFA_DUP.
	* dwarf2.h (DW_CFA_DUP): New define.

2017-08-21  Richard Biener  <rguenther@suse.de>

	* simple-object.h (simple_object_copy_lto_debug_sections): New
	function.

2017-07-31  Nick Clifton  <nickc@redhat.com>

	Binutils PR 21850
	* ansidecl.h (OVERRIDE): Protect check of __cplusplus value with
	#idef __cplusplus.

2017-07-02  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* dwarf2.def (DW_IDX_compile_unit, DW_IDX_type_unit, DW_IDX_die_offset)
	(DW_IDX_parent, DW_IDX_type_hash, DW_IDX_lo_user, DW_IDX_hi_user)
	(DW_IDX_GNU_internal, DW_IDX_GNU_external): New.
	* dwarf2.h (DW_IDX, DW_IDX_DUP, DW_FIRST_IDX, DW_END_IDX): New.
	(enum dwarf_name_index_attribute): Remove.
	(get_DW_IDX_name): New declaration.

2017-05-27  Maya Rashish  <coypu@sdf.org>

	* longlong.h: Remove ns32k support.

2017-05-24  Nathan Sidwell  <nathan@acm.org>

	* libiberty.h (ASTRDUP): Adjust cast to avoid warning.

2017-05-19  Eli Zaretskii <eliz@gnu.org>

	* environ.h: Add #ifndef guard.

2017-05-18  Martin Liska  <mliska@suse.cz>

	* ansidecl.h: Define CONSTEXPR macro.

2017-04-04  Jonathan Wakely  <jwakely@redhat.com>

	* ansidecl.h (ATTRIBUTE_PACKED): Fix typo in comment.

2017-02-25  Jakub Jelinek  <jakub@redhat.com>

	PR debug/77589
	* dwarf2.def (DW_OP_GNU_variable_value): New opcode.

2017-01-30  Alexandre Oliva <aoliva@redhat.com>

	Introduce C++ support in libcc1.
	* gcc-c-fe.def (int_type_v0): Rename from...
	(int_type): ... this.  Introduce new version.
	(float_type_v0): Rename from...
	(float_type): ... this.  Introduce new version.
	(char_type): New.
	* gcc-c-interface.h (gcc_c_api_version): Add GCC_C_FE_VERSION_1.
	(gcc_type_array): Move...
	* gcc-interface.h: ... here.
	* gcc-cp-fe.def: New.
	* gcc-cp-interface.h: New.

2017-01-30  Jan Kratochvil <jan.kratochvil@redhat.com>

	* gcc-interface.h (enum gcc_base_api_version): Update comment
	for GCC_FE_VERSION_1.
	(struct gcc_base_vtable): Rename set_arguments to
	set_arguments_v0.  Add set_arguments, set_triplet_regexp and
	set_driver_filename.

	* gcc-interface.h (enum gcc_base_api_version): Add comment to
	GCC_FE_VERSION_1.
	(struct gcc_base_vtable): Rename compile to compile_v0.
	Update comment for compile.  New methods set_verbose and
	compile.

	* gcc-interface.h (enum gcc_base_api_version): Add
	GCC_FE_VERSION_1.

2017-01-24  Pekka Jääskeläinen  <pekka@parmance.com>
	    Martin Jambor  <mjambor@suse.cz>

	* hsa.h: Moved here from libgomp/plugin/hsa.h.

2017-01-04  Richard Earnshaw  <rearnsha@arm.com>
	    Jiong Wang  <jiong.wang@arm.com>

	* dwarf2.def (DW_OP_AARCH64_operation): Reserve the number 0xea.
	(DW_CFA_GNU_window_save): Comments the multiplexing on AArch64.

2017-01-04  Jakub Jelinek  <jakub@redhat.com>

	Update copyright years.

2016-12-21  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.def (DW_FORM_ref_sup): Renamed to ...
	(DW_FORM_ref_sup4): ... this.  New form.
	(DW_FORM_ref_sup8): New form.

2016-11-03  David Tolnay <dtolnay@gmail.com>
	    Mark Wielaard  <mark@klomp.org>

	* demangle.h (DMGL_RUST): New macro.
	(DMGL_STYLE_MASK): Add DMGL_RUST.
	(demangling_styles): Add dlang_rust.
	(RUST_DEMANGLING_STYLE_STRING): New macro.
	(RUST_DEMANGLING): New macro.
	(rust_demangle): New prototype.
	(rust_is_mangled): Likewise.
	(rust_demangle_sym): Likewise.

2016-11-07  Jason Merrill  <jason@redhat.com>

	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_NOEXCEPT, DEMANGLE_COMPONENT_THROW_SPEC.

2016-10-17  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.h (enum dwarf_calling_convention): Add new DWARF5
	calling convention codes.
	(enum dwarf_line_number_content_type): New.
	(enum dwarf_location_list_entry_type): Add DWARF5 DW_LLE_*
	codes.
	(enum dwarf_source_language): Add new DWARF5 DW_LANG_* codes.
	(enum dwarf_macro_record_type): Add DWARF5 DW_MACRO_* codes.
	(enum dwarf_name_index_attribute): New.
	(enum dwarf_range_list_entry): New.
	(enum dwarf_unit_type): New.
	* dwarf2.def: Add new DWARF5 DW_TAG_*, DW_FORM_*, DW_AT_*,
	DW_OP_* and DW_ATE_* entries.

2016-10-14  Pedro Alves  <palves@redhat.com>

	* ansidecl.h [__cplusplus >= 201103 && GCC_VERSION < 4007] (FINAL,
	OVERRIDE): Define as empty.
	[__cplusplus < 201103 && GCC_VERSION < 4007] (FINAL): Define as
	__final.
	[__cplusplus < 201103 && GCC_VERSION >= 4007] (OVERRIDE): Define as
	empty.

2016-10-14  Pedro Alves  <palves@redhat.com>

	* ansidecl.h (GCC_FINAL): Delete.
	(OVERRIDE, FINAL): New, moved from gcc/coretypes.h.

2016-08-15  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.def (DW_AT_string_length_bit_size,
	DW_AT_string_length_byte_size): New attributes.

2016-08-12  Alexandre Oliva <aoliva@redhat.com>

	PR debug/63240
	* dwarf2.def (DW_AT_deleted, DW_AT_defaulted): New.
	* dwarf2.h (enum dwarf_defaulted_attribute): New.

2016-07-29  Aldy Hernandez  <aldyh@redhat.com>

	* libiberty.h (MAX_ALLOCA_SIZE): New macro.

2016-05-26  Chung-Lin Tang  <cltang@codesourcery.com>

	* gomp-constants.h (GOMP_VERSION): Increment to 1, add comment to
	describe the need for incrementing this macro whenever the plugin
	interface is modified.

2016-04-29  Tom Tromey  <tom@tromey.com>

	* dwarf2.h (enum dwarf_source_language) <DW_LANG_Rust,
	DW_LANG_Rust_old>: New constants.

2016-04-29  Oleg Endo  <olegendo@gcc.gnu.org>

	* longlong.h (umul_ppmm): Remove SHMEDIA checks.
	(__umulsidi3, count_leading_zeros): Remove SHMEDIA implementations.

2016-04-29  Claudiu Zissulescu  <claziss@synopsys.com>

	* longlong.h (add_ssaaaa): Replace obsolete 'J' constraint with
	'Cal' constraint.
	(sub_ddmmss): Likewise.

2016-03-17  Thomas Schwinge  <thomas@codesourcery.com>

	* gomp-constants.h (enum gomp_map_kind): Rename
	GOMP_MAP_FORCE_DEALLOC to GOMP_MAP_DELETE.  Adjust all users.

2016-03-03  Than McIntosh <thanm@google.com>

	* plugin-api.h: Add new hooks to the plugin transfer vector to
	to support querying section alignment and section size.
	(ld_plugin_get_input_section_alignment): New hook.
	(ld_plugin_get_input_section_size): New hook.
	(ld_plugin_tag): Add LDPT_GET_INPUT_SECTION_ALIGNMENT
	and LDPT_GET_INPUT_SECTION_SIZE.
	(ld_plugin_tv): Add tv_get_input_section_alignment and
	tv_get_input_section_size.

2016-03-03  Evgenii Stepanov  <eugenis@google.com>

	* plugin-api.h (enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V3.

2016-01-19  Martin Jambor  <mjambor@suse.cz>

	* gomp-constants.h (GOMP_DEVICE_HSA): New macro.
	(GOMP_VERSION_HSA): Likewise.
	(GOMP_TARGET_ARG_DEVICE_MASK): Likewise.
	(GOMP_TARGET_ARG_DEVICE_ALL): Likewise.
	(GOMP_TARGET_ARG_SUBSEQUENT_PARAM): Likewise.
	(GOMP_TARGET_ARG_ID_MASK): Likewise.
	(GOMP_TARGET_ARG_NUM_TEAMS): Likewise.
	(GOMP_TARGET_ARG_THREAD_LIMIT): Likewise.
	(GOMP_TARGET_ARG_VALUE_SHIFT): Likewise.
	(GOMP_TARGET_ARG_HSA_KERNEL_ATTRIBUTES): Likewise.

2016-01-07  Mike Frysinger  <vapier@gentoo.org>

	* longlong.h: Change !__SHMEDIA__ to
	(!defined (__SHMEDIA__) || !__SHMEDIA__).
	Change __SHMEDIA__ to defined (__SHMEDIA__) && __SHMEDIA__.

2016-01-05  Mike Frysinger  <vapier@gentoo.org>

	* libiberty.h (dupargv): Change arg to char * const *.
	(writeargv, countargv): Likewise.

2015-11-27  Pedro Alves  <palves@redhat.com>

	PR other/61321
	PR other/61233
	* demangle.h (enum demangle_component_type)
	<DEMANGLE_COMPONENT_CONVERSION>: New value.

2015-11-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* vtv-change-permission.h (VTV_PAGE_SIZE) [__sun__ && __svr4__ &&
	__sparc__]: Define.

2015-11-12  James Norris  <jnorris@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>

	* gomp-constants.h (enum gomp_map_kind): Add GOMP_MAP_DEVICE_RESIDENT
	and GOMP_MAP_LINK.

2015-11-09  Alan Modra  <amodra@gmail.com>

	PR gdb/17133
	* obstack.h (__attribute_pure__): Expand _GL_ATTRIBUTE_PURE.

2015-11-09  Alan Modra  <amodra@gmail.com>

	PR gdb/17133
	* obstack.h: Import current gnulib file.

2015-11-05  Jakub Jelinek  <jakub@redhat.com>
	    Ilya Verbin  <ilya.verbin@intel.com>

	* gomp-constants.h (GOMP_MAP_FLAG_SPECIAL_2): Define.
	(GOMP_MAP_FLAG_ALWAYS): Remove.
	(enum gomp_map_kind): Use GOMP_MAP_FLAG_SPECIAL_2 instead of
	GOMP_MAP_FLAG_ALWAYS for GOMP_MAP_ALWAYS_TO, GOMP_MAP_ALWAYS_FROM,
	GOMP_MAP_ALWAYS_TOFROM, GOMP_MAP_STRUCT, GOMP_MAP_RELEASE.
	Add GOMP_MAP_ALWAYS_POINTER and GOMP_MAP_FIRSTPRIVATE_REFERENCE.
	(GOMP_MAP_ALWAYS_P): Define.
	(GOMP_TARGET_FLAG_NOWAIT): Adjust comment.

2015-10-27  Daniel Jacobowitz  <dan@codesourcery.com>
	    Joseph Myers  <joseph@codesourcery.com>
	    Mark Shinwell  <shinwell@codesourcery.com>
	    Andrew Stubbs  <ams@codesourcery.com>
	    Rich Felker <dalias@libc.org>

	* longlong.h (udiv_qrnnd): Add FDPIC compatible version for SH.

2015-10-18  Roland McGrath  <roland@gnu.org>

	PR other/63758
	* environ.h: New file.

2015-10-13  Jakub Jelinek  <jakub@redhat.com>
	    Ilya Verbin  <ilya.verbin@intel.com>

	* gomp-constants.h (GOMP_MAP_FLAG_ALWAYS): Define.
	(enum gomp_map_kind): Add GOMP_MAP_FIRSTPRIVATE,
	GOMP_MAP_FIRSTPRIVATE_INT, GOMP_MAP_USE_DEVICE_PTR,
	GOMP_MAP_ZERO_LEN_ARRAY_SECTION, GOMP_MAP_ALWAYS_TO,
	GOMP_MAP_ALWAYS_FROM, GOMP_MAP_ALWAYS_TOFROM, GOMP_MAP_STRUCT,
	GOMP_MAP_DELETE_ZERO_LEN_ARRAY_SECTION, GOMP_MAP_DELETE,
	GOMP_MAP_RELEASE, GOMP_MAP_FIRSTPRIVATE_POINTER.
	(GOMP_MAP_ALWAYS_TO_P, GOMP_MAP_ALWAYS_FROM_P): Define.
	(GOMP_TASK_FLAG_UNTIED, GOMP_TASK_FLAG_FINAL, GOMP_TASK_FLAG_MERGEABLE,
	GOMP_TASK_FLAG_DEPEND, GOMP_TASK_FLAG_PRIORITY, GOMP_TASK_FLAG_UP,
	GOMP_TASK_FLAG_GRAINSIZE, GOMP_TASK_FLAG_IF, GOMP_TASK_FLAG_NOGROUP,
	GOMP_TARGET_FLAG_NOWAIT, GOMP_TARGET_FLAG_EXIT_DATA,
	GOMP_TARGET_FLAG_UPDATE): Define.

2015-09-28  Nathan Sidwell  <nathan@codesourcery.com>

	* gomp-constants.h (GOMP_VERSION_NVIDIA_PTX): Increment.
	(GOMP_DIM_GANG, GOMP_DIM_WORKER, GOMP_DIM_VECTOR, GOMP_DIM_MAX,
	GOMP_DIM_MASK): New.
	(GOMP_LAUNCH_DIM, GOMP_LAUNCH_ASYNC, GOMP_LAUNCH_WAIT): New.
	(GOMP_LAUNCH_CODE_SHIFT, GOMP_LAUNCH_DEVICE_SHIFT,
	GOMP_LAUNCH_OP_SHIFT): New.
	(GOMP_LAUNCH_PACK, GOMP_LAUNCH_CODE, GOMP_LAUNCH_DEVICE,
	GOMP_LAUNCH_OP): New.
	(GOMP_LAUNCH_OP_MAX): New.

2015-08-24  Nathan Sidwell  <nathan@codesourcery.com>

	* gomp-constants.h (GOMP_VERSION, GOMP_VERSION_NVIDIA_PTX,
	GOMP_VERSION_INTEL_MIC): New.
	(GOMP_VERSION_PACK, GOMP_VERSION_LIB, GOMP_VERSION_DEV): New.

2015-08-14  Pierre-Marie de Rodat  <derodat@adacore.com>

	* dwarf2.def (DW_AT_GNU_bias): New attribute.

2015-08-14  Pierre-Marie de Rodat  <derodat@adacore.com>

	* dwarf2.def (DW_AT_GNU_numerator, DW_AT_GNU_denominator): New
	attributes.

2015-08-11  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* ansidecl.h (GCC_FINAL): New macro.

2015-08-10  Thomas Schwinge  <thomas@codesourcery.com>

	* gomp-constants.c (GOMP_DEVICE_HOST_NONSHM): Remove.

2015-05-22  Yunlian Jiang  <yunlian@google.com>

	* libiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is
	not defined.

2015-03-19  Richard Biener  <rguenther@suse.de>

	* partition.h (struct partition_elem): Re-order elements to
	avoid padding.

2015-03-02  Markus Trippelsdorf  <markus@trippelsdorf.de>

	PR target/65261
	* ansidecl.h (ATTRIBUTE_NO_SANITIZE_UNDEFINED): New macro.

2015-02-19  Pedro Alves  <palves@redhat.com>

	* floatformat.h [__cplusplus]: Wrap in extern "C".

2015-02-04  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.h (enum dwarf_source_language): Add DW_LANG_Fortran03
	and DW_LANG_Fortran08.

2015-01-15  Thomas Schwinge  <thomas@codesourcery.com>
	    Julian Brown  <julian@codesourcery.com>
	    James Norris  <jnorris@codesourcery.com>

	* gomp-constants.h: New file.

2014-12-14  Jan-Benedict Glaw  <jbglaw@lug-owl.de>

	* libiberty.h: Merge Copyright year update from Binutils.

2014-12-24  Uros Bizjak  <ubizjak@gmail.com>
	    Ben Elliston  <bje@au.ibm.com>
	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* libiberty.h (xasprintf): Declare.

2014-12-11  Uros Bizjak  <ubizjak@gmail.com>
	    Ben Elliston  <bje@au.ibm.com>
	    Manuel Lopez-Ibanez  <manu@gcc.gnu.org>

	* libiberty.h (xvasprintf): Declare.

2014-12-09  Trevor Saunders  <tsaunders@mozilla.com>

	* hashtab.h, splay-tree.h: Remove GTY markers.

2014-12-08  Mark Wielaard  <mjw@redhat.com>

	PR debug/60782
	* dwarf2.def: Add DWARFv5 DW_TAG_atomic_type.

2014-11-21  Mark Wielaard  <mjw@redhat.com>

	* dwarf2.h: Add DW_LANG_C_plus_plus_11, DW_LANG_C11 and
	DW_LANG_C_plus_plus_14.

2014-11-25  Mark Wielaard  <mjw@redhat.com>

	* dwarf2.def (DW_AT_noreturn): New DWARF5 attribute.

2014-11-14  Shinichiro Hamaji  <shinichiro.hamaji@gmail.com>

	* dwarf2.def (DW_AT_APPLE_optimized, DW_AT_APPLE_flags)
	(DW_AT_APPLE_isa, DW_AT_APPLE_block)
	(DW_AT_APPLE_major_runtime_vers, DW_AT_APPLE_runtime_class)
	(DW_AT_APPLE_omit_frame_ptr, DW_AT_APPLE_property_name)
	(DW_AT_APPLE_property_getter, DW_AT_APPLE_property_setter)
	(DW_AT_APPLE_property_attribute, DW_AT_APPLE_objc_complete_type)
	(DW_AT_APPLE_property): New macros.

2014-11-11  Anthony Brandon  <anthony.brandon@gmail.com>
	    Manuel López-Ibáñez  <manu@gcc.gnu.org>

	PR driver/36312
	* filenames.h: Add prototype for canonical_filename_eq.

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

	* ChangeLog.jit: New.

2014-10-28  Richard Henderson  <rth@redhat.com>

	* longlong.h [__alpha] (umul_ppmm): Disable for c++.

2014-10-28  Yury Gribov  <y.gribov@samsung.com>

	* libiberty.h (strtol, strtoul, strtoll, strtoull): New prototypes.

2014-10-27  Phil Muldoon  <pmuldoon@redhat.com>
	    Jan Kratochvil  <jan.kratochvil@redhat.com>
	    Tom Tromey  <tromey@redhat.com>

	* gcc-c-fe.def: New file.
	* gcc-c-interface.h: New file.
	* gcc-interface.h: New file.

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

	* libiberty.h (choose_tmpdir): New prototype.

2013-10-02  Mark Wielaard  <mjw@redhat.com>

	PR debug/63239
	* dwarf2.def (DW_AT_GNU_deleted): New attribute.

2014-09-26  Max Ostapenko  <m.ostapenko@partner.samsung.com>

	* libiberty.h (PEX_STDOUT_APPEND): New flag.
	(PEX_STDERR_APPEND): Likewise.

2014-09-23  Iain Buclaw  <ibuclaw@gdcproject.org>

	* demangle.h (DMGL_DLANG): New macro.
	(DMGL_STYLE_MASK): Add DMGL_DLANG.
	(demangling_styles): Add dlang_demangling.
	(DLANG_DEMANGLING_STYLE_STRING): New macro.
	(DLANG_DEMANGLING): New macro.
	(dlang_demangle): New prototype.

2014-09-15  Andreas Krebbel  <Andreas.Krebbel@de.ibm.com>

	* longlong.h: Add __udiv_w_sdiv prototype.

2014-06-10  Thomas Schwinge  <thomas@codesourcery.com>

	PR lto/61334
	* libiberty.h [defined (HAVE_DECL_STRNLEN) &&
	!HAVE_DECL_STRNLEN] (strnlen): New prototype.

2014-05-21  John Marino  <gnugcc@marino.st>

	* liberty.h: Use basename function on DragonFly.

2014-05-01  Steve Ellcey  <sellcey@mips.com>

	* include/longlong.h: Use 'defined()' to check __mips16.

2014-04-30  Richard Sandiford  <rdsandiford@googlemail.com>

	* longlong.h (__i386__): Remove W_TYPE_SIZE==64 handling.

2014-04-22  Yufeng Zhang  <yufeng.zhang@arm.com>

	* longlong.h: Merge from glibc.

2014-01-21  Tom Tromey  <tromey@redhat.com>

	* ansidecl.h (ANSI_PROTOTYPES, PTRCONST, LONG_DOUBLE, PARAMS)
	(VPARAMS, VA_START, VA_OPEN, VA_CLOSE, VA_FIXEDARG, CONST)
	(VOLATILE, SIGNED, PROTO, EXFUN, DEFUN, DEFUN_VOID, AND, DOTS)
	(NOARGS): Don't define.
	* libiberty.h (expandargv, writeargv): Don't use PARAMS.

2013-12-23  Bill Maddox  <maddox@google.com>

	* demangle.h (enum gnu_v3_ctor_kinds):
	Added literal gnu_v3_unified_ctor.
	(enum gnu_v3_ctor_kinds):
	Added literal gnu_v3_unified_dtor.

2013-12-04  Richard Sandiford  <rdsandiford@googlemail.com>

	* longlong.h: New file.

2013-10-29  Marc Glisse  <marc.glisse@inria.fr>

	PR tree-optimization/58689
	* ansidecl.h (ATTRIBUTE_RETURNS_NONNULL): New macro.
	* libiberty.h (basename, lbasename, dos_lbasename, unix_lbasename,
	concat_copy): Mark with attributes nonnull(1) and returns_nonnull.
	(concat, reconcat, concat_copy2, choose_temp_base, xstrerror,
	xmalloc, xrealloc, xcalloc, xstrdup, xstrndup, xmemdup, pex_init):
	Mark with attribute returns_nonnull.

2013-10-22  Sterling Augustine  <saugustine@google.com>

	* gdb/gdb-index.h: Merge from gdb tree.

2013-08-20  Alan Modra  <amodra@gmail.com>

	* floatformat.h (floatformat_ibm_long_double): Delete.
	(floatformat_ibm_long_double_big): Declare.
	(floatformat_ibm_long_double_little): Declare.

2013-08-19  Dehao Chen  <dehao@google.com>

	* dwarf2.def (DW_AT_GNU_discriminator): New attribute.

2013-08-02  Caroline Tice  <cmtice@google.com>

	* vtv-change-permission.h: New file.

2013-04-03  Jason Merrill  <jason@redhat.com>

	Demangle C++11 ref-qualifier.
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_REFERENCE_THIS,
	DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS.

2013-03-01  Cary Coutant  <ccoutant@google.com>

	* dwarf2.h (enum dwarf_sect): New enum type.

2013-02-11  Sriraman Tallam  <tmsriram@google.com>

	* plugin-api.h (enum ld_plugin_level): Assign integers
	explicitly for all values.

2013-01-30  Kai Tietz  <ktietz@redhat.com>

	PR other/54620
	PR target/39064
	* md5.h (md5_uintptr, md5_uint32): Define as uintptr_t/uint32_t if
	stdint.h and sys/types.h headers are present.
	* sha1.h (sha1_uintptr, sha1_uint32): Likewise.

2012-12-18  Aldy Hernandez  <aldyh@redhat.com>

	PR other/54324
	* ansidecl.h (ATTRIBUTE_UNUSED): Do not set __attribute__ for GCC
	< 3.4.

2012-11-09  Jason Merrill  <jason@redhat.com>

	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_TAGGED_NAME.

2012-10-29  Sterling Augustine  <saugustine@google.com>
	    Cary Coutant  <ccoutant@google.com>

	* dwarf2.h (dwarf_location_list_entry_type): New enum with fields
	DW_LLE_GNU_end_of_list_entry, DW_LLE_GNU_base_address_selection_entry,
	DW_LLE_GNU_start_end_entry and DW_LLE_GNU_start_length_entry.


2012-10-08  Jason Merrill  <jason@redhat.com>

	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_TLS_INIT and DEMANGLE_COMPONENT_TLS_WRAPPER.

2012-09-18  Florian Weimer  <fweimer@redhat.com>

	PR other/54411
	* objalloc.h (objalloc_alloc): Do not use fast path on wraparound.

2012-09-06  Cary Coutant  <ccoutant@google.com>

	* dwarf2.def: Edit comment.

2012-08-24  Sriraman Tallam  <tmsriram@google.com>

	* plugin-api.h (ld_plugin_allow_unique_segment_for_sections):
	New interface.
	(ld_plugin_unique_segment_for_sections): New interface.
	(LDPT_ALLOW_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
	(LDPT_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val.
	(tv_allow_unique_segment_for_sections): New member.
	(tv_unique_segment_for_sections): New member.

2012-07-13  Doug Evans  <dje@google.com>

	* filenames.h: #include "hashtab.h".
	(filename_hash, filename_eq): Declare.

2012-06-18  Doug Evans  <dje@google.com>

	* dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.

2012-06-12  Rafael Ávila de Espíndola <respindola@mozilla.com>

	* plugin-api.h (ld_plugin_output_file_type): Add LDPO_PIE.

2012-06-08  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.def (DW_FORM_GNU_ref_alt, DW_FORM_GNU_strp_alt): New
	forms.
	* dwarf2.h (enum dwarf_macro_record_type): Add
	DW_MACRO_GNU_define_indirect_alt, DW_MACRO_GNU_undef_indirect_alt
	and DW_MACRO_GNU_transparent_include_alt.

2012-05-23  Doug Evans  <dje@google.com>

	* leb128.h: #include stdint.h, inttypes.h.
	(read_uleb128_to_uint64): Renamed from read_uleb128_to_ull.
	Change to take a uint64_t * argument instead of unsigned long long.
	(read_sleb128_to_uint64): Renamed from read_sleb128_to_ll.
	Change to take an int64_t * argument instead of long long.

2012-05-22  Doug Evans  <dje@google.com>

	* leb128.h: New file.

2012-05-19  Gary Funck  <gary@intrepid.com>

	* dwarf2.def: Update comment re: UPC extensions to reference
	DWARF4 specification.

2012-05-02  Cary Coutant  <ccoutant@google.com>

	* dwarf2.def: Remove DW_FORM_GNU_ref_index,
	replace DW_AT_GNU_ref_base with DW_AT_GNU_ranges_base.

2012-04-28  Doug Evans  <dje@google.com>

	* dwarf2.def (DW_OP): Add DW_OP_GNU_addr_index.

2012-04-27  Tom Tromey  <tromey@redhat.com>

	* dwarf2.h: Wrap function declarations in extern "C".

2012-04-27  Tom Tromey  <tromey@redhat.com>

	* dwarf2.h (enum dwarf_tag, enum dwarf_form, enum dwarf_attribute)
	(enum dwarf_location_atom, enum dwarf_type, enum
	dwarf_call_frame_info): Remove.
	(DW_TAG, DW_TAG_DUP, DW_FORM, DW_AT, DW_AT_DUP, DW_OP)
	(DW_OP_DUP, DW_ATE, DW_ATE_DUP, DW_CFA): New macros.
	Include dwarf2.def.
	(get_DW_TAG_name, get_DW_AT_name, get_DW_FORM_name)
	(get_DW_OP_name, get_DW_ATE_name): Declare.
	* dwarf2.def: New file, from dwarf2.h.

2012-04-10  Tristan Gingold  <gingold@adacore.com>

	* splay-tree.h: Conditionnaly includes stdint.h and inttypes.h
	(libi_uhostptr_t, libi_shostptr_t): Remove, replaced by uintptr_t.

2012-01-26  Cary Coutant  <ccoutant@google.com>

	* dwarf2.h (enum dwarf_form): Add Fission extensions.
	(enum dwarf_attribute): Likewise.

2012-01-06  Jason Merrill  <jason@redhat.com>

	PR c++/6057
	PR c++/48051
	PR c++/50855
	PR c++/51322
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_INITIALIZER_LIST, DEMANGLE_COMPONENT_NULLARY.

2011-11-07  Richard Henderson  <rth@redhat.com>

	Merged from transactional-memory.

	* demangle.h (enum gnu_v3_ctor_kinds): Add gnu_v3_object_ctor_group.
	(enum gnu_v3_dtor_kinds): Add gnu_v3_object_dtor_group.
	(DEMANGLE_COMPONENT_TRANSACTION_CLONE): New.
	(DEMANGLE_COMPONENT_NONTRANSACTION_CLONE): New.

2011-10-21  Ulrich Drepper  <drepper@gmail.com>

	* obstack.h [!GNUC] (obstack_free): Avoid cast to int.

2011-10-21  Marc Glisse  <marc.glisse@inria.fr>

	* ansidecl.h (ENUM_BITFIELD): Always use enum in C++

2011-09-28  Doug Evans  <dje@google.com>

	* timeval-utils.h: New file.

	* libiberty.h (countargv): Declare.

2011-09-26  Cary Coutant  <ccoutant@google.com>

	PR lto/47247
	* plugin-api.h (enum ld_plugin_symbol_resolution): Add
	LDPR_PREVAILING_DEF_IRONLY_EXP.
	(enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V2.

2011-09-23  Cary Coutant  <ccoutant@google.com>

	PR 40831
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_CLONE.

2011-07-25  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* xregex.h (regoff_t): Define.

2011-07-22  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.h (DW_AT_GNU_macros): New.
	(enum dwarf_macro_record_type): New enum.  Add DW_MACRO_GNU_*.

	PR c++/49756
	* libiberty.h (stack_limit_increase): New prototype.

2011-07-13  Sriraman Tallam  <tmsriram@google.com>
	
	* plugin-api.h
	(ld_plugin_section): New struct.
	(ld_plugin_get_section_count): New typedef.
	(ld_plugin_get_section_type): New typedef.
	(ld_plugin_get_section_name): New typedef.
	(ld_plugin_get_section_contents): New typedef.
	(ld_plugin_update_section_order): New typedef.
	(ld_plugin_allow_section_ordering): New typedef.
	(LDPT_GET_SECTION_COUNT): New enum value.
	(LDPT_GET_SECTION_TYPE): New enum value.
	(LDPT_GET_SECTION_NAME): New enum value.
	(LDPT_GET_SECTION_CONTENTS): New enum value.
	(LDPT_UPDATE_SECTION_ORDER): New enum value.
	(LDPT_ALLOW_SECTION_ORDERING): New enum value.
	(tv_get_section_count): New struct members.
	(tv_get_section_type): New struct members.
	(tv_get_section_name): New struct members.
	(tv_get_section_contents): New struct members.
	(tv_update_section_order): New struct members.
	(tv_allow_section_ordering): New struct members.

2011-07-01  Joel Brobecker  <brobecker@adacore.com>

	* filenames.h (HAVE_CASE_INSENSITIVE_FILE_SYSTEM): Define
	on Darwin, as well as on the systems that use a DOS-like
	filesystem.

2011-06-22  Jakub Jelinek  <jakub@redhat.com>

	PR debug/47858
	* dwarf2.h (enum dwarf_location_atom): Add DW_OP_GNU_parameter_ref.

2011-06-13  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* demangle.h (DMGL_RET_POSTFIX): Extend the comment.
	(DMGL_RET_DROP): New.

2011-04-30  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type,
	DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret): New.

2011-04-25  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* ansidecl.h (ENUM_BITFIELD): New, from gcc/system.h.

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

	* dwarf2.h (dwarf_line_number_hp_sfc_ops): New enum.

2011-03-24  Mark Wielaard  <mjw@redhat.com>

	* dwarf2.h (dwarf_form): Remove deprecated DW_FORM_sig8 define.

2010-03-23  Rafael Ávila de Espíndola <respindola@mozilla.com>

	* plugin-api.h (ld_plugin_get_view): New.
	(ld_plugin_tag): Add LDPT_GET_VIEW.
	(ld_plugin_tv): Add tv_get_view.

2011-03-16  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.h (DW_TAG_GNU_call_site, DW_TAG_GNU_call_site_parameter,
	DW_AT_GNU_call_site_value, DW_AT_GNU_call_site_data_value,
	DW_AT_GNU_call_site_target, DW_AT_GNU_call_site_target_clobbered,
	DW_AT_GNU_tail_call, DW_AT_GNU_all_tail_call_sites,
	DW_AT_GNU_all_call_sites,, DW_AT_GNU_all_source_call_sites,
	DW_OP_GNU_entry_value): New.

2011-02-28  Kai Tietz  <kai.tietz@onevision.com>

	* filenames.h (filename_ncmp): New prototype.

2011-02-23  Kai Tietz  <kai.tietz@onevision.com>

	* dwarf2.h (_ELF_DWARF2_H): Renamed to
	_DWARF2_H.
	(DWARF2_External_LineInfo, DWARF2_Internal_LineInfo,
	DWARF2_External_PubNames, DWARF2_Internal_PubNames,
	DWARF2_External_CompUnit, DWARF2_Internal_CompUnit,
	DWARF2_External_ARange, DWARF2_Internal_ARange): Removed.

2011-01-12  Iain Sandoe  <iains@gcc.gnu.org>

	* dwarf2.h: Update value for DW_AT_hi_user.

2010-11-16  Ian Lance Taylor  <iant@google.com>

	* simple-object.h (simple_object_attributes_merge): Declare,
	replacing simple_object_attributes_compare.

2010-11-04  Ian Lance Taylor  <iant@google.com>

	* dwarf2.h (enum dwarf_source_language): Add DW_LANG_Go.

2010-11-02  Ian Lance Taylor  <iant@google.com>

	* simple-object.h: New file.

2010-10-15  Dave Korn  <dave.korn.cygwin@gmail.com> 

	Sync LD plugin patch series (part 1/6) with src/include/.
	* plugin-api.h (LDPT_GNU_LD_VERSION): New ld_plugin_tag enum member.

2010-10-06  Andi Kleen  <ak@linux.intel.com>

	* libiberty.h (setproctitle): Add prototype.

2010-09-09  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.h (DW_OP_GNU_implicit_pointer): New.

2010-07-06  Ken Werner  <ken.werner@de.ibm.com>

	* floatformat.h (floatformat_ieee_half_big): Add declaration.
	(floatformat_ieee_half_little): Likewise.

2010-06-21  Rafael Espindola  <espindola@google.com>

	* plugin-api.h (ld_plugin_set_extra_library_path): New.
	(ld_plugin_tag): Add LDPT_SET_EXTRA_LIBRARY_PATH.
	(ld_plugin_tv): Add tv_set_extra_library_path.

2010-06-21  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.h (enum dwarf_type): Add DW_ATE_UTF.

2010-06-18  Rafael Espindola  <espindola@google.com>

	* plugin.h (ld_plugin_add_input_file, ld_plugin_add_input_library):
	Make argument const.

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

	* dwarf2.h (enum dwarf_tag): Add DW_TAG_HP_Bliss_field and
	DW_TAG_HP_Bliss_field_set.
	(enum dwarf_attribute): Add DW_AT_HP_prologue, DW_AT_HP_epilogue,
	DW_AT_HP_unit_name, DW_AT_HP_unit_size, DW_AT_HP_widened_byte_size,
	DW_AT_HP_definition_points, DW_AT_HP_default_location and
	DW_AT_HP_is_result_param.
	(enum dwarf_type): Add DW_ATE_HP_VAX_float, DW_ATE_HP_VAX_float_d,
	DW_ATE_HP_packed_decimal, DW_ATE_HP_zoned_decimal, DW_ATE_HP_edited,
	DW_ATE_HP_signed_fixed, DW_ATE_HP_unsigned_fixed,
	DW_ATE_HP_VAX_complex_float and DW_ATE_HP_VAX_complex_float_d.
	(enum dwarf_line_number_x_ops): Add
	DW_LNE_HP_source_file_correlation.
	(enum dwarf_source_language): Add DW_LANG_HP_Bliss,
	DW_LANG_HP_Basic91, DW_LANG_HP_Pascal91, DW_LANG_HP_IMacro,
	DW_LANG_HP_Assembler.

2010-06-08  Laurynas Biveinis  <laurynas.biveinis@gmail.com>

	* splay-tree.h: Update copyright years.
	(splay_tree_s): Document fields.
	(splay_tree_new_typed_alloc): New.

	* hashtab.h: Update copyright years.
	(htab_create_typed_alloc): New.

2010-06-01  Rafael Espindola  <espindola@google.com>

	* plugin-api.h (ld_plugin_tag): Add LDPT_OUTPUT_NAME.

2010-04-26  Pedro Alves  <pedro@codesourcery.com>

	* filenames.h (PATH_SEPARATOR): Delete.

2010-04-23  Pedro Alves  <pedro@codesourcery.com>

	* filenames.h (IS_DIR_SEPARATOR_1): Rename from IS_DIR_SEPARATOR,
	always define it independently of host, add `dos_based' parameter,
	and handle it.
	(PATH_SEPARATOR): Define.
	(HAS_DRIVE_SPEC_1): Rename from HAS_DRIVE_SPEC, always define it
	independently of host, add `dos_based' parameter, and handle it.
	(IS_ABSOLUTE_PATH_1): Rename from IS_ABSOLUTE_PATH, always define
	it independently of host, add `dos_based' parameter, and handle
	it.
	(IS_DOS_DIR_SEPARATOR, IS_DOS_ABSOLUTE_PATH)
	(IS_UNIX_DIR_SEPARATOR, IS_UNIX_ABSOLUTE_PATH)
	(HAS_DOS_DRIVE_SPEC): New.
	(HAS_DRIVE_SPEC): Reimplement on top of HAS_DRIVE_SPEC_1.
	(IS_DIR_SEPARATOR): Reimplement on top of IS_DIR_SEPARATOR_1.
	(IS_ABSOLUTE_PATH): Reimplement on top of IS_ABSOLUTE_PATH_1.
	* libiberty.h (dos_lbasename, unix_lbasename): Declare.

2010-04-20  Nick Clifton  <nickc@redhat.com>

	* sha1.h: Update copyright notice to use GPLv3.

2010-04-14  Doug Evans  <dje@google.com>

	* filenames.h (HAS_DRIVE_SPEC, STRIP_DRIVE_SPEC): New macros.

2010-04-13  Matthias Klose  <doko@ubuntu.com>

	* elf: Remove empty directory.

2010-04-06  Jakub Jelinek  <jakub@redhat.com>

	* dwarf2.h (DWARF2_Internal_LineInfo): Add li_max_ops_per_insn
	field.

2010-03-23  Joseph Myers  <joseph@codesourcery.com>

	* symcat.h (CONCAT5, CONCAT6, XCONCAT5, XCONCAT6): Define.

2010-01-13  Joel Brobecker  <brobecker@adacore.com>

	Add new DW_AT_use_GNAT_descriptive_type CU attribute.
	* dwarf2.h (dwarf_attribute): Add DW_AT_use_GNAT_descriptive_type.

2010-01-11  Tristan Gingold  <gingold@adacore.com>

	* demangle.h (ada_demangle): Add prototype.

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

	PR bootstrap/41771
	* ansidecl.h: Fix inline test for C99 and Sun Studio cc.

2009-12-29  Joel Brobecker  <brobecker@adacore.com>

	* dwarf2.h (enum dwarf_attribute): Add DW_AT_GNAT_descriptive_type.

2009-11-06  Jonas Maebe  <jonas.maebe@elis.ugent.be>

	Add DWARF attribute value for the "Borland fastcall" calling
	convention.
	* elf/dwarf2.h: Add DW_CC_GNU_borland_fastcall_i386 constant.

2009-10-23  Kai Tietz  <kai.tietz@onevision.com>

	* splay-tree.h (libi_uhostptr_t): Add gcc specific
	__extension__ for long long type case to silent cX9.
	(libi_shostptr_t): Likewise.

2009-10-19  Rafael Avila de Espindola  <espindola@google.com>

	PR40790
	* plugin-api.h: Don't include stdint.h unconditionally.

2009-10-15  Jakub Jelinek  <jakub@redhat.com>

	* include/dwarf2.h (DW_LANG_Python): Add comment that it is
	a DWARF 4 addition.

2009-10-09  Rafael Espindola  <espindola@google.com>

	* plugin-api.h (ld_plugin_add_input_library): Change argument name to
	libname.

2009-10-05  Rafael Espindola  <espindola@google.com>

	* plugin-api.h (ld_plugin_status): Add LDPS_BAD_HANDLE.
	(ld_plugin_get_input_file): New.
	(ld_plugin_release_input_file): New.
	(ld_plugin_add_input_library): New.
	(ld_plugin_message): Mark format const.
	(ld_plugin_level): Add LDPT_GET_INPUT_FILE, LDPT_RELEASE_INPUT_FILE and
	LDPT_ADD_INPUT_LIBRARY.
	(ld_plugin_tv): Add tv_get_input_file, tv_release_input_file and
	tv_add_input_library.

2009-10-04  Jerry Quinn  <jlquinn@optonline.net>

	* plugin-api.h: Fix compile.

2009-10-03  Rafael Espindola  <espindola@google.com>

	* plugin-api.h: New.
	* lto-symtab.h: New.

2009-09-29  Jason Merrill  <jason@redhat.com>

	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_LAMBDA, DEMANGLE_COMPONENT_DEFAULT_ARG,
	DEMANGLE_COMPONENT_UNNAMED_TYPE.
	(struct demangle_component): Add s_unary_num.

2009-09-25  Dodji Seketeli  <dodji@redhat.com>

	* dwarf2.h (enum dwarf_tag): Rename DW_TAG_template_parameter_pack and
	DW_TAG_formal_parameter_pack into DW_TAG_GNU_template_parameter_pack
	and DW_TAG_formal_parameter_pack until DWARF 5 is out.

2009-09-25  Cary Coutant  <ccoutant@google.com>

	Add rest of new values from DWARF Version 4.
	* dwarf2.h (DW_TAG_rvalue_reference_type, DW_TAG_template_alias):
	New tags.
	(DW_FORM_ref_sig8): New name for DW_FORM_sig8.
	(DW_AT_main_subprogram, DW_AT_data_bit_offset, DW_AT_const_expr,
	DW_AT_enum_class, DW_AT_linkage_name, DW_AT_GNU_guarded_by,
	DW_AT_GNU_pt_guarded_by, DW_AT_GNU_guarded, DW_AT_GNU_pt_guarded,
	DW_AT_GNU_locks_excluded, DW_AT_GNU_exclusive_locks_required,
	DW_AT_GNU_shared_locks_required, DW_AT_GNU_odr_signature): New
	attributes.
	(DW_LANG_Python): New language.

2009-09-22  Dodji Seketeli  <dodji@redhat.com>

	* dwarf2.h (enum dwarf_tag): Add
	DW_TAG_template_parameter_pack and DW_TAG_formal_parameter_pack.

2009-07-24  Ian Lance Taylor  <iant@google.com>

	PR bootstrap/40854
	* libiberty.h (xcrc32): Rename from crc32.

2009-07-24  Ian Lance Taylor  <iant@google.com>

	* libiberty.h (crc32): Declare.

2009-07-20  Cary Coutant  <ccoutant@google.com>
	    Doug Evans  <dje@google.com>

	Add some dwarf4 values.
	* dwarf2.h (enum dwarf_tag): Add DW_TAG_type_unit.
	(enum dwarf_form): Add DW_FORM_sec_offset, DW_FORM_exprloc,
	DW_FORM_flag_present, DW_FORM_sig8.
	(enum dwarf_attribute): Add DW_AT_signature.

2009-07-17  Jan Kratochvil  <jan.kratochvil@redhat.com>

	* demangle.h
	(enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_CONSTRUCTORS>)
	(enum demangle_component_type <DEMANGLE_COMPONENT_GLOBAL_DESTRUCTORS>):
	New.

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

	* dwarf2.h (enum dwarf_location_atom): Add DW_OP_implicit_value
	and DW_OP_stack_value.

2009-07-09  Tom Tromey  <tromey@redhat.com>

	* elf/dwarf2.h: Remove, renaming to...
	* dwarf2.h: ... this.

2009-06-29  Tom Tromey  <tromey@redhat.com>

	* elf/dwarf2.h: New file.  Merged with gdb.

2009-06-09  Ian Lance Taylor  <ian@airs.com>

	* ansidecl.h (ATTRIBUTE_UNUSED_LABEL): Define for C++.

2009-06-03  Ian Lance Taylor  <iant@google.com>

	* ansidecl.h (EXPORTED_CONST): Define.

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

	* ansidecl.h: Add extern "C" when compiling with C++.  Treat C++
	the way we treat an ISO C compiler.  Don't define inline as a
	macro when compiling with C++.
	* dyn-string.h: Add header guard DYN_STRING_H.  Add extern "C"
	when compiling with C++.
	* fibheap.h: Add extern "C" when compiling with C++.

2009-04-22  Taras Glek <tglek@mozilla.com>

	* hashtab.h: Update GTY annotations to new syntax.
	* splay-tree.h: Likewise.

2009-03-17  Jason Merrill  <jason@redhat.com>

	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_FUNCTION_PARAM.

2008-12-10  Jason Merrill  <jason@redhat.com>

	* demangle.h (enum demangle_component_type): Add 
	DEMANGLE_COMPONENT_FIXED_TYPE.

2008-11-19  Bob Wilson  <bob.wilson@acm.org>
	
	* xtensa-config.h (XCHAL_HAVE_MUL16, XCHAL_HAVE_MUL32, XCHAL_HAVE_DIV32)
	(XCHAL_HAVE_MINMAX, XCHAL_HAVE_SEXT, XCHAL_HAVE_THREADPTR)
	(XCHAL_HAVE_RELEASE_SYNC, XCHAL_HAVE_S32C1I): Change to 1.
	(XCHAL_NUM_AREGS): Change to 32.
	(XCHAL_ICACHE_SIZE, XCHAL_DCACHE_SIZE): Change to 16K.
	(XCHAL_ICACHE_LINESIZE, XCHAL_DCACHE_LINESIZE): Change to 32.
	(XCHAL_ICACHE_LINEWIDTH, XCHAL_DCACHE_LINEWIDTH): Change to 5.
	(XCHAL_DCACHE_IS_WRITEBACK): Change to 1.
	(XCHAL_DEBUGLEVEL): Change to 6.
	
2008-10-21  Alan Modra  <amodra@bigpond.net.au>

	* obstack.h (obstack_finish <!__GNUC__>): Cast result to void *.

2008-10-06  Jason Merrill  <jason@redhat.com>

	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_PACK_EXPANSION.

2008-09-09  Jason Merrill  <jason@redhat.com>

	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_DECLTYPE.

2008-07-07  Joel Brobecker  <brobecker@adacore.com>

	* safe-ctype.h: Add #include of ctype.h before redefining
	the ctype.h macros.

2008-07-04  Joel Brobecker  <brobecker@adacore.com>

	* safe-ctype.h: Remove #error when detecting that ctype.h has been
	included. Redefine the various macros provided by ctype.h as
	undefined variables.

2008-06-23  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libiberty.h (XALLOCA, XDUP, XALLOCAVEC, XDUPVEC, XALLOCAVAR,
	XDUPVAR, XOBNEWVEC, XOBNEWVAR): New.

2008-03-24  Ian Lance Taylor  <iant@google.com>

	* sha1.h: New file, from gnulib.

	* md5.h: Add extern "C" when compiled with C++.

2008-03-21  Ian Lance Taylor  <iant@google.com>

	* filenames.h: Add extern "C" when compiled with C++.

2008-02-11  Bob Wilson  <bob.wilson@acm.org>

	* xtensa-config.h (XCHAL_HAVE_THREADPTR): Redefine to zero.
	(XCHAL_NUM_AREGS, XCHAL_MAX_INSTRUCTION_SIZE): New.

2008-01-26  David Daney  <ddaney@avtrex.com>

	* demangle.h (demangle_component_type):  Add
	DEMANGLE_COMPONENT_JAVA_RESOURCE,
	DEMANGLE_COMPONENT_COMPOUND_NAME, and
	DEMANGLE_COMPONENT_CHARACTER as new enum values.
	(demangle_component): Add struct s_character to union u.

2007-11-07  Joseph Myers  <joseph@codesourcery.com>
	    Daniel Jacobowitz  <dan@codesourcery.com>

	* floatformat.h (struct floatformat): Add split_half field.
	(floatformat_ibm_long_double): New.

2007-09-06  Tom Tromey  <tromey@redhat.com>

	* libiberty.h (pex_free): Document process killing.

2007-08-31  Douglas Gregor  <doug.gregor@gmail.com>
	
	* demangle.h (enum demangle_component_type): Add
	DEMANGLE_COMPONENT_RVALUE_REFERENCE. 

2007-07-25  Ben Elliston  <bje@au.ibm.com>

	* ternary.h: Remove.

2007-07-18  Bob Wilson  <bob.wilson@acm.org>
	
	* xtensa-config.h (XCHAL_HAVE_THREADPTR): New.
	(XCHAL_HAVE_RELEASE_SYNC, XCHAL_HAVE_S32C1I): New.
	
2007-07-17  Nick Clifton  <nickc@redhat.com>

	* COPYING3: New file.  Contains version 3 of the GNU General
	Public License.

2007-07-12  Kai Tietz   <kai.tietz@onevision.com>

	* splay-tree.h (libi_uhostptr_t, libi_shostptr_t): New types,
	needed for WIN64 when a long is not wide enough for a pointer.
	(splay_tree_key, splay_tree_value): Use the new types.

2007-05-07  Nathan Froyd  <froydnj@codesourcery.com>

	* libiberty.h (writeargv): Declare.

2007-04-25  Mark Mitchell  <mark@codesourcery.com>

	* demangle.h: Change license to LGPL + exception.

2007-03-29  Joel Brobecker  <brobecker@adacore.com>

	* filenames.h (FILENAME_CMP): Adjust define to call filename_cmp
	regardless of the type of file system.

2007-03-06  Jan Hubicka  <jh@suse.cz>
	
	* ansidecl.h (ATTRIBUTE_COLD, ATTRIBUTE_HOT): New.

2007-02-09  Joseph S. Myers  <joseph@codesourcery.com>

	* libiberty.h (pex_write_input): Remove prototype.

2007-01-31  Vladimir Prus  <vladimir@codesourcery.com>
	
	* libiberty.h (PEX_STDERR_TO_PIPE): New define.
	(PEX_BINARY_ERROR): New define.
	(pex_read_err): New function.

2007-01-29  Simon Baldwin <simonb@google.com>

	* demangle.h: New cplus_demangle_print_callback,
	cplus_demangle_v3_callback, and java_demangle_v3_callback function
	prototypes, and demangle_callbackref type definition.

2006-12-06  Nick Clifton  <nickc@redhat.com>

	* ansidecl.h (ATTRIBUTE_PACKED): Define.

2006-11-30  Andrew Stubbs  <andrew.stubbs@st.com>
	    J"orn Rennecke <joern.rennecke@st.com>

	PR driver/29931
	* libiberty.h (make_relative_prefix_ignore_links): Declare.

2006-11-27  Bob Wilson  <bob.wilson@acm.org>

	* xtensa-config.h (XSHAL_ABI): New.
	(XTHAL_ABI_WINDOWED, XTHAL_ABI_CALL0): New.

2006-04-11  Jim Blandy  <jimb@codesourcery.com>

	* libiberty.h (pex_input_file, pex_input_pipe): New declarations.

2006-01-18  DJ Delorie  <dj@redhat.com>

	* md5.h: Include ansidecl.h

2006-01-09  Bob Wilson  <bob.wilson@acm.org>

	* xtensa-config.h (XCHAL_HAVE_MUL32_HIGH): Define.

2005-12-30  Bob Wilson  <bob.wilson@acm.org>

	* xtensa-config.h (XCHAL_HAVE_WIDE_BRANCHES): New.

2005-12-10  Terry Laurenzo  <tlaurenzo@gmail.com>

	PR java/9861
	* demangle.h : Add DMGL_RET_POSTFIX define to enable alternative
	output format for return types

2005-10-31  Mark Kettenis  <kettenis@gnu.org>

	* floatformat.h (enum floatformat_byteorders): Add
	floatformat_vax.
	(floatformat_vax_aingle, floatformat_vax_double): Declare.

2005-09-26  Mark Mitchell  <mark@codesourcery.com>

	* libiberty.h (expandargv): New function.

2005-08-17  Mark Kettenis  <kettenis@gnu.org>

	* floatformat.h (struct floatformat): Change type of large
	argument for is_valid member to `const void *'.
	(floatformat_to_double): Change type of second argument to `const
	void *'.
	(floatformat_from_double): Change type of last argument to `void
	*'.
	(floatformat_is_valid): Change type of last argument to `const
	void *'.

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

	* xregex2.h (regexec): Qualify this prototype with __extension__
	when compiling with GNU C.

2005-07-03  Steve Ellcey  <sje@cup.hp.com>

	PR other/13906
	* ansidecl.h (ATTRIBUTE_ALIGNED_ALIGNOF): New.
	* md5.h (md5_uintptr): New.
	(md5_ctx): Align buffer field.

2005-06-30  Daniel Berlin  <dberlin@dberlin.org>
	
	* hashtab.h (HTAB_DELETED_ENTRY): New macro.
	(HTAB_EMPTY_ENTRY): New macro.

2005-06-20  Geoffrey Keating  <geoffk@apple.com>

	* libiberty.h (strverscmp): Prototype. 

2005-06-06  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* libiberty.h (XOBFINISH): New.

2005-06-01  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libiberty.h (vsnprintf): Add format attribute.

2005-05-29  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* ansidecl.h: Add ATTRIBUTE_FPTR_PRINTF.

2005-05-28  Eli Zaretskii  <eliz@gnu.org>

	* libiberty.h: (snprintf) [!HAVE_DECL_SNPRINTF]: Declare if
	needed.
	(vsnprintf) [!HAVE_DECL_VSNPRINTF]: Declare if needed.

2005-05-25  Richard Henderson  <rth@redhat.com>

	* demangle.h (DEMANGLE_COMPONENT_HIDDEN_ALIAS): New.

2005-05-24  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* libiberty.h (ACONCAT): Properly cast value of alloca().

	* ansidecl.h (ATTRIBUTE_UNUSED_LABEL): Don't define if
	__cplusplus.

2005-05-12  Steve Ellcey  <sje@cup.hp.com>

	libiberty.h: Do not define empty basename prototype.

2005-05-10  Nick Clifton  <nickc@redhat.com>

	* Update the address and phone number of the FSF organization in
	the GPL notices in the following files:
	COPYING, ansidecl.h, bfdlink.h, bout.h, demangle.h, dis-asm.h,
	dyn-string.h, fibheap.h, filenames.h, floatformat.h,
	fnmatch.h, gdbm.h, getopt.h, hashtab.h, hp-symtab.h, ieee.h,
	libiberty.h, md5.h, oasys.h, objalloc.h, obstack.h, os9k.h,
	partition.h, progress.h, safe-ctype.h, sort.h, splay-tree.h,
	symcat.h, ternary.h, xregex2.h, xtensa-config.h,
	xtensa-isa-internal.h, xtensa-isa.h

2005-04-25  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libiberty.h (unlock_std_streams): New.

2005-04-19  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* hashtab.h, libiberty.h, objalloc.h, splay-tree.h, ternary.h:
	Don't use the PTR macro.

	* sort.h: Don't use the PARAMS macro.

2005-04-16  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libiberty.h (unlock_stream): New.

2005-04-13  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libiberty.h (fopen_unlocked, fdopen_unlocked, freopen_unlocked):
	Remove parameter names.

2005-04-11  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libiberty.h (fopen_unlocked, fdopen_unlocked, freopen_unlocked):
	Provide prototypes for new functions.

2005-03-29  Ian Lance Taylor  <ian@airs.com>

	* libiberty.h: Fix indentation.

2005-03-28  Ian Lance Taylor  <ian@airs.com>

	* libiberty.h: Include <stdio.h>.
	(PEX_RECORD_TIMES, PEX_USE_PIPES, PEX_SAVE_TEMPS): Define.
	(PEX_LAST, PEX_SEARCH, PEX_SUFFIX, PEX_STDERR_TO_STDOUT): Define.
	(PEX_BINARY_INPUT, PEX_BINARY_OUTPUT): Define.
	(pex_init, pex_run, pex_read_output): Declare.
	(pex_get_status, pex_get_times, pex_free, pex_one): Declare.
	(struct pex_time): Define.

2005-03-28  Mark Mitchell <mark@codesourcery.com>

	* libiberty.h (ffs): Declare, if necessary.

2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* xregex2.h (_RE_ARGS): Remove definition and uses.

2005-03-27  Gabriel Dos Reis  <gdr@integreable-solutions.net>

	* ternary.h: Don't use PARAMS anymore.

2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* partition.h: Remove use of PARAMS.
	* obstack.h: Remove conditional prototypes __STDC__.
	* objalloc.h:  Remove use of PARAMS.
	* splay-tree.h: Likewise.

2005-03-27  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* md5.h: Remove definition and uses of __P.
	* dyn-string.h: Remove uses of PARAMS.
	* fibheap.h: Likewise.
	* floatformat.h: Likewise.
	* hashtab.h: Likewise.

2005-03-26  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* demangle.h: Remove uses of PARAMS.

	* libiberty.h (ANSI_PROTOTYPES): Remove guard since
	ANSI_PROTOTYPES is always assumed.
	Remove uses of PARAMS throughout.

2005-03-24  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libiberty.h (xstrndup): Declare.

2005-03-22  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* libiberty.h (make_relative_prefix): Add ATTRIBUTE_MALLOC.

2005-03-09  Mark Mitchell  <mark@codesourcery.com>

	* libiberty.h (gettimeofday): Declare.

2005-03-01  Jan Beulich  <jbeulich@novell.com>

	* libiberty.h: Declare unlink_if_ordinary.

2005-02-14  Paolo Bonzini  <bonzini@gnu.org>

	PR bootstrap/19818
	* ansidecl.h (PARAMS): Guard from redefinition.

2004-12-11  Ben Elliston  <bje@au.ibm.com>

	* fibheap.h (struct fibnode): Only use unsigned long bitfields
	when __GNUC__ is defined and ints are less than 32-bits wide.

2004-10-07  Bob Wilson  <bob.wilson@acm.org>

	* xtensa-config.h (XSHAL_USE_ABSOLUTE_LITERALS,
	XCHAL_HAVE_PREDICTED_BRANCHES, XCHAL_INST_FETCH_WIDTH): New.
	(XCHAL_EXTRA_SA_SIZE, XCHAL_EXTRA_SA_ALIGN): Delete.

2004-09-13  Aaron W. LaFramboise  <aaronavay62@aaronwl.com>

	* libiberty.h (basename): Prototype for __MINGW32__.

2004-09-04  Kaveh R. Ghazi  <ghazi@caip.rutgers.edu>

	* ansidecl.h (ATTRIBUTE_SENTINEL): Define.
	* libiberty.h (concat, reconcat, concat_length, concat_copy,
	concat_copy2): Use ATTRIBUTE_SENTINEL.

2004-08-02  Gabriel Dos Reis  <gdr@integrable-solutions.net>

	* libiberty.h (XDELETE, XDELETEVEC, XRESIZEVEC): Remove any
	const-qualification before disposal.

2004-07-24  Bernardo Innocenti  <bernie@develer.com>

	* ansidecl.h (ARG_UNUSED): New Macro.

2004-07-24  Bernardo Innocenti  <bernie@develer.com>

	* libiberty.h (XNEW, XCNEW, XNEWVEC, XCNEWVEC, XOBNEW): Move here from
	libcpp/internal.h.
	(XDELETE, XRESIZEVEC, XDELETEVEC, XNEWVAR, XCNEWVAR, XRESIZEVAR): New
	macros.

2004-07-21  Paolo Bonzini  <bonzini@gnu.org>

	* ansidecl.h (ATTRIBUTE_PURE): New.

2004-07-13  Bernardo Innocenti  <bernie@develer.com>

	* libiberty.h (ASTRDUP): Add casts required for stricter
	type conversion rules of C++.
	* obstack.h (obstack_free): Likewise.

2004-05-04  Andreas Jaeger  <aj@suse.de>

	* demangle.h: Do not use C++ reserved keyword typename as
	parameter for cplus_demangle_fill_builtin_type.

2004-04-22  Richard Henderson  <rth@redhat.com>

	* hashtab.h (struct htab): Add size_prime_index.

2004-04-13  Jeff Law  <law@redhat.com>

	* hashtab.h (htab_remove_elt_with_hash): Prototype new function.

2004-03-30  Zack Weinberg  <zack@codesourcery.com>

	* hashtab.h, splay-tree.h: Use new shorter form of GTY markers.

2004-02-24  Ian Lance Taylor  <ian@wasabisystems.com>

	* dyn-string.h: Update copyright date.

2004-02-23  Ian Lance Taylor  <ian@wasabisystems.com>

	* dyn-string.h: Remove test of IN_LIBGCC2 and IN_GLIBCPP_V3 and
	the associated #defines.

2004-01-12  Ian Lance Taylor  <ian@wasabisystems.com>

	* demangle.h: Instead of checking ANSI_PROTOTYPES, just include
	"libiberty.h".

	* demangle.h: If ANSI_PROTOTYPES is defined, include <stddef.h>.

	* demangle.h (enum demangle_component_type): Define.
	(struct demangle_operator_info): Declare.
	(struct demangle_builtin_type_info): Declare.
	(struct demangle_component): Define.
	(cplus_demangle_fill_component): Declare.
	(cplus_demangle_fill_name): Declare.
	(cplus_demangle_fill_builtin_type): Declare.
	(cplus_demangle_fill_operator): Declare.
	(cplus_demangle_fill_extended_operator): Declare.
	(cplus_demangle_fill_ctor, cplus_demangle_fill_dtor): Declare.
	(cplus_demangle_v3_components): Declare.
	(cplus_demangle_print): Declare.

For older changes see ChangeLog-9103

Local Variables:
mode: change-log
left-margin: 8
fill-column: 74
version-control: never
End:
