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-09  Michael Collison  <michael.collison@linaro.org>

	* objcp-decl.c: Include hash-set.h, machmode.h, vec.h, double-int.h,
	input.h, alias.h, symtab.h, options, fold-const.h,
	wide-int.h, and inchash.h due to flattening of tree.h.
	* objcp-lang.c: Ditto.

2014-12-31  Iain Sandoe  <iain@codesourcery.com>

	* config-lang.in (gtfiles): Update list.

2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>

	* objcp-decl.h: Adjust.

2014-04-14  Paolo Carlini  <paolo.carlini@oracle.com>

	* objcp-decl.h (OBJC_TYPE_NAME, OBJC_SET_TYPE_NAME): Use
	TYPE_IDENTIFIER.

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

	Update copyright years

2013-09-25  Tom Tromey  <tromey@redhat.com>

	* Make-lang.in (START_HDRS, cc1objplus-checksum.o)
	(objcp/objcp-lang.o, objcp/objcp-decl.o
	(objcp/objc-runtime-shared-support.o)
	(objcp/objc-gnu-runtime-abi-01.o objcp/objc-next-runtime-abi-01.o)
	(objcp/objc-next-runtime-abi-02.o, objcp/objcp-act.o)
	(objcp/objc-encoding.o, objcp/objc-map.o): Use COMPILE and
	POSTCOMPILE.  Remove explicit dependencies.

2013-05-16  Jason Merrill  <jason@redhat.com>

	* Make-lang.in (cc1objplus$(exeext)): Use link mutex.

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

	* objcp-decl.c (objcp_start_struct): Adjust for change in
	begin_class_definition prototype.

2011-10-14  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Make-lang.in (OBJCXX_OBJS): Added objc-map.o.
	(objcp/objc-map.o): New rule.
	(objcp/objcp-act.o): Depend on objc/objc-map.h.
	* config-lang.in (gtfiles): Added objc-map.h.

2011-07-11  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Make-lang.in (objcp/objc-runtime-shared-support.o): Do not
	depend on OBSTACK_H.
	(objcp/objc-gnu-runtime-abi-01.o): Likewise.
	(objcp/objc-next-runtime-abi-01.o): Likewise.
	(objcp/objc-next-runtime-abi-02.o): Likewise.
	(objcp/objcp-act.o): Likewise.

2011-07-04  Nicola Pero  <nicola.pero@meta-innovation.com>

	* Make-lang.in (OBJCXX_OBJS): Added objc-encoding.o.
	(objcp/objcp-lang.o): Reordered dependencies.  Depend on GGC_H.
	(objcp/objcp-decl.o): Reordered dependencies.
	(objcp/objc-runtime-shared-support.o): Reordered dependencies.
	Updated them to be identical to the corresponding new objc/ ones,
	with the addition of objcp-decl.h.
	(objcp/objc-runtime-shared-support.o): Likewise.
	(objcp/objc-gnu-runtime-abi-01.o): Likewise.
	(objcp/objc-next-runtime-abi-01.o): Likewise.
	(objcp/objc-next-runtime-abi-02.o): Likewise.
	(objcp/objcp-act.o): Reordered dependencies.  Added dependency on
	objc-encoding.h.
	(objcp/objc-encoding.o): New rule.
	
2011-04-15  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objcp-decl.c (objcp_finish_struct): Use
	objc_detect_field_duplicates instead of having a local
	implementation.

2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>

	* objcp-lang.c (objcxx_init_ts): Call objc_common_init_ts and
	cp_common_init_ts.

2011-03-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR bootstrap/48167
	* Make-lang.in (START_HDRS): Added CXX_PARSER_H and
	CXX_PRETTY_PRINT_H.
	* config-lang.in (gtfiles): Added cp/parser.h and reorganized list
	so that it is more obvious that it is identical to the C++ one
	with the addition of some files at the end.
	
2011-03-06  Joseph Myers  <joseph@codesourcery.com>

	* lang-specs.h: Match -save-temps* instead of -save-temps.

2011-02-20  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR objc++/47711
	* config-lang.in (gtfiles): Updated list.

2011-02-17  Iain Sandoe  <iains@gcc.gnu.org>

	* Make-lang.in (START_HDRS): New.
	(OBJCXX_OBJS): Added new object files from objc/.
	(objcp/objcp-act.o): Updated prerequisites.
	(objcp/objcp-lang.o): Updated prerequisites.
	(objcp/objc-runtime-shared-support.o): New.
	(objcp/objc-gnu-runtime-abi-01.o): New.
	(objcp/objc-next-runtime-abi-01.o): New.
	(objcp/objc-next-runtime-abi-02.o): New.
	* config-lang.in (gtfiles): Updated.
	* objcp-lang.c (objcxx_eh_personality): Removed.
	(LANG_HOOKS_EH_PERSONALITY): Removed.
	(LANG_HOOKS_EH_RUNTIME_TYPE): Removed.
	(objcp_eh_personality_decl): Removed.
	
2011-02-07  Mike Stump  <mikestump@comcast.net>

	* Make-lang.in (obj-c++.tags): Don't include *.y.

2010-12-29  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objcp-lang.c (objcp_tsubst_copy_and_build): Update call to
	objc_finish_message_expr.

2010-12-26  Nicola Pero  <nicola.pero@meta-innovation.com>

	* config-lang.in (gtfiles): Added c-family/c-cppbuiltin.c.

2010-12-06  Nicola Pero  <nicola.pero@meta-innovation.com>

	* config-lang.in (gtfiles): Added c-family/c-objc.h.
	* Make-lang.in (objcp/objcp-act.o): Depend on
	c-family/c-objc.h.
	(objcp/objcp-lang.o): Same change.
	(objcp/objcp-decl.o): Same change.
	* objcp-lang.c: Include c-family/c-objc.h.
	* objcp-decl.c: Same change.

2010-11-23  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR objc/24358
	* lang-specs.h: Print a deprecation note every time
	objc++-cpp-output is requested.

2010-10-24  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objcp-lang.c (LANG_HOOKS_DECL_PRINTABLE_NAME): Do not define.

2010-10-20  Nicola Pero  <nicola.pero@meta-innovation.com>

	* objcp-lang.c (finish_file): Removed.

2010-10-14  Iain Sandoe  <iains@gcc.gnu.org>

	merge from FSF apple 'trunk' branch. 
	2006 Fariborz Jahanian <fjahanian@apple.com>
	
	Radars 4436866, 4505126, 4506903, 4517826
	* objcp-lang.c (objcxx_init_ts): Update for property_decl.

2010-10-13  Richard Henderson  <rth@redhat.com>

	* objcp-lang.c (objcxx_eh_personality): Update call to
	build_personality_function.

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

	* Make-lang.in (cc1objplus-checksum.c): Use correct temporary
	name.

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

	* Make-lang.in (cc1objplus-dummy): Remove.
	(cc1objplus-checksum): Change to run checksum over object files
        and options only.

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

	* Make-lang.in (cc1objplus-dummy, cc1objplus): Add + to build rule.

2010-09-28  Richard Henderson  <rth@redhat.com>

	* objcp-lang.c: Include "target.h".
	(objcxx_eh_personality): Use targetm.except_unwind_info.
	* Make-lang.in (objcp-lang.o): Update deps.

2010-09-21  Nicola Pero  <nicola.pero@meta-innovation.com>

	PR objc/25965	
	* objcp-decl.c (objcp_finish_struct): Call
	objc_get_interface_ivars() and check for duplicate ivars.

2010-06-28  Steven Bosscher  <steven@gcc.gnu.org>

	* objcp-lang.c: Do not include except.h.
	* Make-lang.in: Update dependencies.

2010-06-25  Joseph Myers  <joseph@codesourcery.com>

	* lang-specs.h: Remove +e handling.

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

	* objcp-decl.h (ALLOC_OBJC_TYPE_LANG_SPECIFIC): Use typed GC
	allocation.

2010-06-05  Steven Bosscher  <steven@gcc.gnu.org>

	* objcp-lang.c: Update include path for moved files.
	* config-lang.in: Update paths in gtfiles for files in c-family/.

2010-05-25  Steven Bosscher  <steven@gcc.gnu.org>

	* objcp-decl.c: Do not include tm.h, rtl.h, expr.h, c-common.h,
	flags.h, input.h, except.h, output.h, toplev.h, cpplib.h, debug.h,
	and target.h.
	* objcp-lang.c: Do not include tm.h, toplev.h, diagnostics.h,
	and debug.h.  Explain why except.h has to be included.
	* Make-lang.in: Update dependencies.

2010-04-30  Steven Bosscher  <steven@gcc.gnu.org>

	* objcp-decl.c: Do not include varray.h.

2009-09-22  Richard Guenther  <rguenther@suse.de>

	PR objc++/41430
	* Make-lang.in (objcp-lang.o): Add $(EXCEPT_H) dependency.
	* objcp-lang.c (LANG_HOOKS_EH_PERSONALITY): Define.
	(LANG_HOOKS_EH_RUNTIME_TYPE): Likewise.
	(objcxx_eh_personality): New function.

2009-09-03  Diego Novillo  <dnovillo@google.com>

	* objcp-lang.c (lang_hooks): Remove const qualifier.

2009-07-14  Taras Glek  <tglek@mozilla.com>
	    Rafael Espindola  <espindola@google.com>

	* Make-lang.in (obj-c.install-plugin): New target for
	installing plugin headers.

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

	* objcp-decl.h (start_struct): Remove in_struct and struct_types
	parameters.  Add struct_info parameter.
	(finish_struct): Likewise.

2009-06-13  Aldy Hernandez  <aldyh@redhat.com>

	* objcp-decl.h (start_struct): Add location argument.
	(finish_struct): Same.
	(finish_decl): New.

2009-06-12  Aldy Hernandez  <aldyh@redhat.com>

	* objcp-decl.h (c_end_compound_stmt): New argument.
	* objcp-decl.c (objcp_start_struct): Add argument.
	(objcp_finish_struct): Same.

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

	* Make-lang.in (cc1objplus-checksum.o): Depend upon $(CONFIG_H)
	and $(SYSTEM_H).

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

	* Make-lang.in (cc1objplus-dummy$(exeext)): Change $(COMPILER) to
	$(LINKER).
	(cc1objplus$(exeext)): Likewise.

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

	* Make-lang.in (cc1objplus-dummy$(exeext)): Use $(COMPILER).
	(cc1objplus$(exeext), objcp/objcp-act.o): Likwise.

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

	* objcp-decl.h (start_struct): Add three new, ignored, macro
	parameters.
	(finish_struct): Add two new, ignored, macro parameters.

2009-04-21  Joseph Myers  <joseph@codesourcery.com>

	* ChangeLog: Add copyright and license notices.

2008-12-05  Sebastian Pop  <sebastian.pop@amd.com>

	PR bootstrap/38262
	* Make-lang.in (cc1objplus-dummy, cc1objplus): Add BACKENDLIBS,
	remove GMPLIBS.

2008-09-17  Andrew Pinski  <andrew_pinski@playstation.sony.com>

	PR objc/37460
	* objcp-lang.c (LANG_HOOKS_GET_CALLEE_FNDECL): Don't define.

2008-04-03  Tom Tromey  <tromey@redhat.com>

	* Make-lang.in (obj-c++_OBJS): New variable.

2008-03-27  Tom Tromey  <tromey@redhat.com>

	* Make-lang.in: Revert automatic dependency patch.

2008-03-25  Tom Tromey  <tromey@redhat.com>

	* Make-lang.in (obj-c++_OBJS): Rename from objcp_OBJS.
	(objcp/objcp-act.o): Restore target.

2008-03-25  Tom Tromey  <tromey@redhat.com>

	* Make-lang.in (objcp_OBJS): New variable.
	(cc1objplus-checksum.o, objcp/objcp-lang.o, objcp/objcp-decl.o,
	objcp/objcp-act.o): Remove.

2008-03-07  Paolo Bonzini  <bonzini@gnu.org>

	Revert:

	2008-02-07  Andreas Tobler  <andreast-list@fgznet.ch>
	            Douglas Gregor  <doug.gregor@gmail.com>
 
	PR bootstrap/35115
	* objcp-decl.c (objcp_comptypes): Call cp_comptypes, not comptypes.

2008-02-07  Andreas Tobler  <andreast-list@fgznet.ch>
            Douglas Gregor  <doug.gregor@gmail.com>
 
	PR bootstrap/35115
	* objcp-decl.c (objcp_comptypes): Call cp_comptypes, not comptypes.

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

	PR other/35107
	* Make-lang.in (cc1objplus-dummy, cc1objplus): Add $(GMPLIBS).

2007-08-02  Nick Clifton  <nickc@redhat.com>

	* Make-lang.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.
	* lang-specs.h, objcp-decl.c, objcp-decl.h, config-lang.in,
	objcp-lang.c: Likewise.

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

	* Make-lang.in: Add dummy lang.install-pdf target.

2006-10-23 Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>

	* objcp-decl.h (objcp_builtin_function): Remove.

2006-10-10  Brooks Moses  <bmoses@stanford.edu>

	* Make-lang.in: Added empty "obj-c++.pdf" target.

2006-08-20  Mark Mitchell  <mark@codesourcery.com>

	* objcp-lang.c (objcp_tsubst_copy_and_build): Adjust call to
	tsubst_copy_and_build.

2006-07-28  Volker Reichelt  <reichelt@igpm.rwth-aachen.de>

	* Make-lang.in: Use $(HEADER_H) instead of header.h in dependencies.

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

	PR other/27063
	* config-lang.in: Add subdir_requires.

2006-06-30  Jason Merrill  <jason@redhat.com>

	* objcp-decl.c (objcp_start_struct): Pass null attributes argument
	to begin_class_definition.

2006-05-14  H.J. Lu  <hongjiu.lu@intel.com>

	* Make-lang.in (objcp/objcp-decl.o): Add dependency on
	$(TARGET_H).

2006-02-20 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>

	* Make-lang.in (OBJ-C++): Remove
	(.PHONY): Remove Obj-c++ and obj-C++. Add obj-c++

2005-12-14  Andrew Pinski  <pinskia@physics.uc.edu>

	* Make-lang.in (objcp/objcp-decl.o): Add depends on $(EXPR_H).

2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>

	* Make-lang.in (obj-c++.all.build, obj-c++.install-normal): Remove.

2005-12-07  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>

	* Make-lang.in: Remove all dependencies on s-gtype.

2005-11-22  Andrew Pinski  <pinskia@physics.uc.edu>

	* objcp-decl.c (objcp_lookup_name): Remove.
	* objcp-decl.h (objcp_lookup_name): Delete.
	(lookup_name): Kill define.

2005-09-11  Richard Henderson  <rth@redhat.com>

	* objcp-lang.c (objcxx_init_ts): Remove ALIAS_DECL.

2005-07-09  Andrew Pinski  <pinskia@physics.uc.edu>

	* config-lang.in (gtfiles): Add cp-objcp-common.c.
	* objcp-lang.c (objcxx_init_ts): New function.
	(LANG_HOOKS_INIT_TS): Define.

2005-07-03  Kazu Hirata  <kazu@codesourcery.com>

	* Make-lang.in (cc1plus-checksum.c): Use
	build/genchecksum$(build_exeext), not build/genchecksum$(exeext).

2005-06-30  Zack Weinberg  <zack@codesourcery.com>
	    Jakub Jelinek  <jakub@redhat.com>

	* objcp-lang.c: No need to include cxx-pretty-print.h.
	* Make-lang.in: Update dependencies.

2005-06-25  Kelley Cook  <kcook@gcc.gnu.org>

	* all files: Update FSF in copyright headers.

2005-06-20  Ziemowit Laski  <zlaski@apple.com>

	* config-lang.in (gtfiles): Add cp/rtti.c.

2005-05-24  Ziemowit Laski  <zlaski@apple.com>

	* objcp-decl.c (objcp_start_struct, objcp_xref_tag): Adjust
	call to xref_tag().
	(objcp_build_component_ref): Remove function.
	* objcp-decl.h (objcp_build_component_ref): Remove prototype.
	(build_component_ref): Remove macro.
	* objcp-lang.c (LANG_HOOKS_TYPES_COMPATIBLE_P): Remove.

2005-05-18  Geoffrey Keating  <geoffk@apple.com>

	* Make-lang.in (cc1objplus-dummy): New.
	(cc1objplus-checksum.c): New.
	(cc1objplus-checksum.o): New.
	(cc1objplus): Add cc1objplus-checksum.o.

2005-05-17  Ziemowit Laski  <zlaski@apple.com>
	    Mike Stump  <mrs@apple.com>

	Yet more Objective-C++...
	
	* Make-lang.in (objcp/objcp-lang.o): Add tree-gimple.h
	(objcp/objcp-decl.o): Likewise.
	(objcp/objcp-act.o): Likewise.
	* objcp-lang.c (LANG_HOOKS_GIMPLIFY_EXPR): Add.

2005-04-21  Ziemowit Laski  <zlaski@apple.com>
	    Mike Stump  <mrs@apple.com>

	* ChangeLog: New.
	* Make-lang.in: Likewise.
	* config-lang.in: Likewise.
	* lang-specs.h: Likewise.
	* objcp-decl.c: Likewise.
	* objcp-decl.h: Likewise.
	* objcp-lang.c: Likewise.


Copyright (C) 2005-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.
