2021-06-29  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc (Gcc_backend::static_chain_variable): Set
	DECL_NAMELESS on the new decl.
	(Gcc_backend::temporary_variable): Likewise.
	(Gcc_backend::function): Set DECL_NAMELESS on the result decl.

2021-05-27  Ian Lance Taylor  <iant@golang.org>

	* gccgo.texi (Function Names): Don't HTML quote ampersand.

2021-05-24  Ian Lance Taylor  <iant@golang.org>

	PR go/100537
	* go-gcc.cc (class Gcc_backend): Update methods that create
	variables to take a flags parameter.

2021-01-28  Ian Lance Taylor  <iant@golang.org>

	* gospec.c (lang_specific_driver): Add -g if no debugging options
	were passed.

2021-01-15  Ian Lance Taylor  <iant@golang.org>

	* Make-lang.in (GO_OBJS): Add go/embed.o.

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

	* lang.opt (fgo-embedcfg=): Add full stop at the end of description.

2021-01-05  Ian Lance Taylor  <iant@golang.org>

	* lang.opt (fgo-embedcfg): New option.
	* go-c.h (struct go_create_gogo_args): Add embedcfg field.
	* go-lang.c (go_embedcfg): New static variable.
	(go_langhook_init): Set go_create_gogo_args embedcfg field.
	(go_langhook_handle_option): Handle OPT_fgo_embedcfg_.
	* gccgo.texi (Invoking gccgo): Document -fgo-embedcfg.

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

	* gccgo.texi: Bump @copyrights-go year.

2020-12-22  Ian Lance Taylor  <iant@golang.org>

	PR go/98402
	* go-lang.c (go_langhook_init): Force MPFR exponent range to be
	large enough to support Go constants.

2020-11-20  Jakub Jelinek  <jakub@redhat.com>

	PR other/97911
	* Make-lang.in (go.serial): Change from goal to a variable.
	(.PHONY): Drop go.serial and go.prev.
	(go1$(exeext)): Depend on $(go.serial) rather than go.serial.

2020-11-18  Jakub Jelinek  <jakub@redhat.com>

	* Make-lang.in (go.serial): New goal.
	(.PHONY): Add go.serial go.prev.
	(go1$(exeext)): Depend on go.prev.  Call LINK_PROGRESS.

2020-11-11  Alan Modra  <amodra@gmail.com>

	* go-gcc.cc (Gcc_backend::global_variable_set_init): Cast NULL to
	avoid ambiguous overloaded call.

2020-11-06  Nathan Sidwell  <nathan@acm.org>

	* go-gcc.cc (Gcc_backend::call_expression): Rename
	DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.

2020-11-04  Ian Lance Taylor  <iant@golang.org>

	* go-lang.c (go_langhook_post_options): Disable
	-fipa-icf-functions if it was not explicitly enabled.

2020-09-14  Jakub Jelinek  <jakub@redhat.com>

	* go-gcc.cc (Gcc_backend::function): Adjust
	cl_optimization_save, cl_optimization_restore and
	build_optimization_node callers.

2020-08-10  Clément Chigot  <chigot.c@gmail.com>

	* go-c.h (struct go_create_gogo_args): Add need_eqtype field.
	* go-lang.c (go_langhook_init): Set need_eqtype.

2020-04-15  Ian Lance Taylor  <iant@golang.org>

	PR go/94607
	* go-gcc.cc (class Gcc_backend): Define builtin_const,
	builtin_noreturn, builtin_novops.
	(Gcc_backend::define_builtin): Change const_p and noreturn_p
	parameters to a single flags parameter.  Change all callers.
	(Gcc_backend::Gcc_backend): Pass novops for prefetch.

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

	Update copyright years.

	* gccgo.texi: Bump @copyrights-go year.

2019-11-12  Martin Liska  <mliska@suse.cz>

	* go-lang.c (go_langhook_post_options):
	Use SET_OPTION_IF_UNSET.

2019-09-04  Ian Lance Taylor  <iant@golang.org>

	PR tree-optimization/91663
	* go-lang.c (go_langhook_post_options): Clear
	flag_partial_inlining.

2019-08-23  Jakub Jelinek  <jakub@redhat.com>

	PR middle-end/91283
	* go-lang.c (go_langhook_post_options): Set flag_excess_precision
	instead of flag_excess_precision_cmdline.

2019-07-02  Cherry Zhang  <cherryyz@google.com>

	* go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_memset.

2019-06-21  Cherry Zhang  <cherryyz@google.com>

	* go-gcc.cc (Gcc_backend::Gcc_backend): Define math/bits
	builtins.

2019-05-30  Jim Wilson  <jimw@sifive.com>

	* go-gcc.cc (Gcc_backend::Gcc_backend): Add BUILT_IN_ATOMIC_FETCH_AND_1
	and BUILT_IN_ATOMIC_FETCH_OR_1.

2019-05-16  Cherry Zhang  <cherryyz@google.com>

	* go-gcc.cc (Gcc_backend::Gcc_backend): Define atomic builtins.

2019-05-08  Cherry Zhang  <cherryyz@google.com>

	* go-gcc.cc (Gcc_backend::Gcc_backend): Define memmove builtin.

2019-05-07  Cherry Zhang  <cherryyz@google.com>

	* lang.opt (-fgo-debug-optimization): New option.
	* go-c.h (struct go_create_gogo_args): Add debug_optimization
	field.
	* go-lang.c (go_langhook_init): Set debug_optimization field.
	* gccgo.texi (Invoking gccgo): Document -fgo-debug-optimization.

2019-03-06  Ian Lance Taylor  <iant@golang.org>

	PR go/89227
	* go-gcc.cc (Gcc_backend::function): Set TREE_PUBLIC for an
	only-inline function.

2019-02-15  Cherry Zhang  <cherryyz@google.com>

	* go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_dwarf_cfa
	instead of __builtin_frame_address.

2019-02-14  Ian Lance Taylor  <iant@golang.org>

	* go-backend.c (go_imported_unsafe): Update
	optimization_default_node.

2019-02-13  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc: #include "opts.h".
	(Gcc_backend::function): Compile thunks with -Os.

2019-02-05  Nikhil Benesch  <nikhil.benesch@gmail.com>

	PR go/89019
	* go-gcc.cc (Gcc_backend::placeholder_struct_type): Mark
	placeholder structs as requiring structural equality.
	(Gcc_backend::set_placeholder_pointer_type): Propagate the
	canonical type from the desired pointer type to the placeholder
	pointer type.

2019-01-09  Ian Lance Taylor  <iant@golang.org>

	PR go/86343
	* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Go back to
	build_distinct_type_copy, but copy the fields so that they have
	the right DECL_CONTEXT.

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

	PR other/16615

	* go-backend.c: Mechanically replace "can not" with "cannot".
	* go-gcc.cc: Likewise.

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

	Update copyright years.

	* gccgo.texi: Bump @copyrights-go year.

2018-11-27  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc (Gcc_backend::function): Handle function_only_inline
	flag.

2018-11-13  David Malcolm  <dmalcolm@redhat.com>

	* go-gcc-diagnostics.cc: Replace "source_location" with "location_t".
	* go-gcc.cc: Likewise.
	* go-linemap.cc: Likewise.
	* go-location.h: Likewise.
	* gofrontend/README: Likewise.

2018-10-31  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc (Gcc_backend::write_global_definitions): Don't call
	gimplify_function_tree.  Instead call allocate_struct_function if
	necessary.

2018-10-29  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc (Gcc_backend::function): Change to use a single flags
	parameter.

2018-10-29  Ian Lance Taylor  <iant@golang.org>

	* go-linemap.cc (Gcc_linemap::location_file): New method.

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

	* Make-lang.in (selftest-go): New.

2018-09-20  Allan Sandfeld Jensen  <allan.jensen@qt.io>

	* gospec.c (lang_specific_driver): Handle -r like -nostdlib.

2018-08-27  Martin Liska  <mliska@suse.cz>

	* go-gcc.cc (Gcc_backend::call_expression): Use new function
	fndecl_built_in_p and remove check for FUNCTION_DECL if
	possible.

2018-07-20  Martin Sebor  <msebor@redhat.com>

	PR middle-end/82063
	* go-lang.c (go_langhook_handle_option): Change function argument
	to HOST_WIDE_INT.

2018-06-28  Ian Lance Taylor  <iant@golang.org>

	PR go/86343
	* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Call
	build_variant_type_copy rather than build_distinct_type_copy.

2018-06-08  Cherry Zhang  <cherryyz@google.com>

	* go-gcc.cc (class Gcc_backend): Remove
	stack_allocation_expression method.

2018-02-03  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc (Gcc_backend::fill_in_struct): Mark struct types as
	using structural equality.

2018-02-02  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc (Gcc_backend::type_size): Return 0 for
	void_type_node.
	(Gcc_backend::convert_expression): Don't convert if the type of
	expr_tree is void_type_node.
	(Gcc_backend::array_index_expression): Don't index if the type of
	the array expression is void_type_node.
	(Gcc_backend::init_statement): Don't initialize if the type of the
	initializer expression is void_type_node.
	(Gcc_backend::assignment_statement): Don't assign if the type of
	either the left or right hand side is void_type_node.
	(Gcc_backend::temporary_variable): Don't initialize if the type of
	the initializer expression is void_type_node.

2018-02-01  Cherry Zhang  <cherryyz@google.com>

	* lang.opt (fgo-optimize): Remove RejectNegative.
	* go-c.h (go_enable_optimize): Update declaration to take value
	argument.
	* go-lang.c (go_langhook_handle_option): Pass value to
	go_enable_optimize.
	* gccgo.texi (Invoking gccgo): Update -fgo-optimize-allocs doc.

2018-01-30  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc (Gcc_backend::convert_tree): New private method.
	(Gcc_backend::constructor_expression): Call it.
	(Gcc_backend::assignment_statement): Likewise.
	(Gcc_backend::temporary_variable): Likewise.

2018-01-09  Cherry Zhang  <cherryyz@google.com>

	* go-gcc.cc (local_variable): Add decl_var parameter.

2018-01-09  Cherry Zhang  <cherryyz@google.com>

	* lang.opt (fgo-debug-escape-hash): New option.
	* go-c.h (struct go_create_gogo_args): Add debug_escape_hash
	field.
	* go-lang.c (go_langhook_init): Set debug_escape_hash field.
	* gccgo.texi (Invoking gccgo): Document -fgo-debug-escape-hash.

2018-01-05  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc (Gcc_backend::Gcc_backend): Correct
	math_function_type_long to take one argument.

2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

	* go-lang.c (go_langhook_type_for_mode): Handle MODE_VECTOR_BOOL.

2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

	* go-lang.c (go_langhook_type_for_mode): Check valid_vector_subparts_p.

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

	Update copyright years.

	* gccgo.texi: Bump @copyrights-go year.

2017-12-12  Tony Reix  <tony.reix@atos.net>
	    Ian Lance Taylor  <iant@golang.org>

	* go-lang.c (TARGET_AIX): Define if not defined.
	(go_langhook_init): Set nil_check_size_threshold to -1 on AIX.

2017-12-01  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc (Gcc_backend::Gcc_backend): Define
	__builtin_unreachable.
	(Gcc_backend::function): Add does_not_return parameter.

2017-12-01  Than McIntosh  <thanm@google.com>

	* go-c.h (go_create_gogo_args): Add nil_check_size_threshold
	field.
	* go-lang.c (go_langhook_init): Set nil_check_size_threshold.

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

	* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using
	build2_loc instead of build3_loc.

2017-11-14  Than McIntosh  <thanm@google.com>

	* go-gcc.cc (var_expression): Remove Varexpr_context parameter.

2017-10-11  Tony Reix  <tony.reix@atos.net>

	* go-system.h (__STDC_FORMAT_MACROS): Define before including any
	system header files, as is done in ../system.h.

2017-10-05  Ian Lance Taylor  <iant@golang.org>

	* Make-lang.in (GO_OBJS): Add go/names.o.

2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

	* go-lang.c (go_langhook_type_for_mode): Use is_complex_float_mode.

2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

	* go-lang.c (go_langhook_type_for_mode): Use is_int_mode.

2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
	    Alan Hayward  <alan.hayward@arm.com>
	    David Sherwood  <david.sherwood@arm.com>

	* go-lang.c (go_langhook_type_for_mode): Use is_float_mode.

2017-08-07  Martin Liska  <mliska@suse.cz>

	* go-gcc.cc (Gcc_backend::function): Look up for no_split_stack
	and not __no_split_stack__.

2017-07-27    Tony Reix  <tony.reix@atos.net>

	* go-backend.c (go_write_export_data): Use EXCLUDE section for
	AIX.

2017-06-09  Ian Lance Taylor  <iant@golang.org>

	* go-lang.c (go_langhook_post_options): If -fsplit-stack is turned
	on, disable implicit -forder-blocks-and-partition.

2017-05-12  Than McIntosh  <thanm@google.com>

	* go-gcc.cc (Gcc_backend::call_expression): Add caller parameter.

2017-05-11  Ian Lance Taylor  <iant@google.com>

	PR go/64238
	* go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
	DECL_EXTERNAL, clear TREE_STATIC.

2017-05-10  Than McIntosh  <thanm@google.com>

	* go-backend.c: Include "go-c.h".
	* go-gcc.cc (Gcc_backend::write_export_data): New method.

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

	* go-gcc.cc (Gcc_backend::Gcc_backend): Declare
	__builtin_prefetch.
	* Make-lang.in (GO_OBJS): Add go/wb.o.

2017-03-28  Than McIntosh  <thanm@google.com>

	PR go/80226
	* go-gcc.cc (Gcc_backend::return_statement): Check for
	void_type_node when checking result size.

2017-02-20  Ian Lance Taylor  <iant@golang.org>

	PR go/79642
	* lang.opt (-fgo-relative-import-path): Change space to tab.

2017-02-07  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/79256
	PR middle-end/79278
	* go-backend.c (go_field_alignment): Adjust.

2017-01-11  Than McIntosh  <thanm@google.com>

	* go-gcc.cc (conditional_expression): Add Bfunction parameter.

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

	Update copyright years.

	* gccgo.texi: Bump @copyrights-go year.

2016-12-16  Than McIntosh  <thanm@google.com>

	* go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
	parameter.
	(Gcc_backend::init_statement): Likewise.
	(Gcc_backend::assignment_statement): Likewise.
	(Gcc_backend::if_statement): Likewise.

2016-12-06  Than McIntosh  <thanm@google.com>

	* go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
	parameter.

2016-11-22  Than McIntosh  <thanm@google.com>

	* go-gcc.cc (char_needs_encoding): Remove.
	(needs_encoding, fetch_utf8_char, encode_id): Remove.
	(Gcc_backend::global_variable): Add asm_name parameter.  Don't
	compute asm_name here.
	(Gcc_backend::implicit_variable): Likewise.
	(Gcc_backend::implicit_variable_reference): Likewise.
	(Gcc_backend::immutable_struct): Likewise.
	(Gcc_backend::immutable_struct_reference): Likewise.
	* Make-lang.in (GO_OBJS): Add go/go-encode-id.o.

2016-11-22  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
	__builtin_frame_address.

2016-10-25  David Malcolm  <dmalcolm@redhat.com>

	* go-lang.c (go_langhook_type_for_mode): Remove redundant cast
	from result of GET_MODE_CLASS.  Minor formatting fixes.

2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>

	* go-backend.c: Include memmodel.h.

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

	* go-gcc.h: New file.
	* go-c.h (struct go_create_gogo_args): Add backend and linemap
	fields.
	* go-lang.c: Include "go-gcc.h".
	(go_langhook_init): Set linemap and backend fields of args.
	* go-gcc.cc: Include "go-gcc.h".
	* go-linemap.cc: Include "go-gcc.h".

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

	* go-linemap.cc (Gcc_linemap::location_line): New method.

2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>

	* config-lang.in (lang_requires_boot_languages): Delete.

2016-10-06  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
	returned memory.

2016-09-27  Than McIntosh  <thanm@google.com>

	* go-linemap.cc (Gcc_linemap::to_string): New method.

2016-09-23  Than McIntosh  <thanm@google.com>

	* go-gcc-diagnostics.cc: New file.
	* go-location.h (Location): Remove operator source_location.  Add
	operator==.
	* go-system.h: #include <sstream>.
	* Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
	go/go-gcc-diagnostics.o.
	(CFLAGS-go/go-gcc-diagnostics.o): New variable.

2016-09-23  Chris Manghane  <cmang@google.com>

	PR go/77701
	* go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
	to pass arguments in the correct order.

2016-09-22  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc (Gcc_backend::Gcc_backend): Declare
	__builtin_frame_address.

2016-09-11  Ian Lance Taylor  <iant@golang.org>

	* go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
	ctz, ctzll, bswap32, bswap64.

2016-09-10  Ian Lance Taylor  <iant@golang.org>

	* go-backend.c (go_trampoline_info): Remove.
	* go-c.h (go_trampoline_info): Don't declare.

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

	* go-sha1.cc: New file.
	* Make-lang.in (GO_OBJS): Add go/go-sha1.o.
	(CFLAGS-go/go-sha1.o): New variable.

2016-08-29  Ian Lance Taylor  <iant@google.com>

	* lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
	* go-c.h (struct go_create_gogo_args): Define.
	(go_create_gogo): Change declaration to take struct pointer.
	* go-lang.c (go_c_header): New static variable.
	(go_langhook_init): Update call to go_create_gogo.
	* gccgo.texi (Invoking gccgo): Document -fgo-c-header and
	-fgo-compiling-runtime.

2016-08-09  Ian Lance Taylor  <iant@google.com>

	* gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
	-fgo-debug-escae.
	(Compiler Directives): New chapter.
	(Function Names): Describe using //go:linkname.  Suggest using
	-fgo-pkgpath rather than -fgo-prefix.

2016-08-08  Ian Lance Taylor  <iant@google.com>

	PR go/72814
	* go-gcc.cc (Gcc_backend::function_type): If the return type is
	zero bytes, treat the function as returning void.
	(return_statement): If the return type is zero bytes, don't
	actually return any values.

2016-08-05  Ian Lance Taylor  <iant@google.com>

	PR go/72812
	* go-gcc.cc (char_needs_encoding): New static function.
	(needs_encoding, fetch_utf8_char): New static functions.
	(encode_id): New static function.
	(Gcc_backend::global_variable): Set asm name if the name is not
	simple ASCII.
	(Gcc_backend::implicit_variable): Likewise.
	(Gcc_backend::implicit_variable_reference): Likewise.
	(Gcc_backend::immutable_struct): Likewise.
	(Gcc_backend::immutable_struct_reference): Likewise.
	(Gcc_backend::function): Likewise.

2016-08-02  Chris Manghane  <cmang@google.com>

	* lang.opt: Add -fgo-debug-escape option.
	* go-c.h (go_create_gogo): Add debug_escape_level parameter.
	* go-lang.c (go_langhook_init): Pass go_debug_escape_level to
	go_create_gogo.

2016-05-06  Chris Manghane  <cmang@google.com>

	* Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
	new escape.cc).

2016-04-29  Chris Manghane  <cmang@google.com>

	* Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.

2016-04-18  Michael Matz  <matz@suse.de>

	* go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.

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

	* gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
	neighbour -> neighbor.
	* gccgo.texi: Likewise.

2016-01-27  Ian Lance Taylor  <iant@google.com>

	* go-lang.c (go_langhook_init_options_struct): Default to
	-fkeep-gc-roots-live.

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

	Update copyright years.

	* gccgo.texi: Bump @copyrights-go year.

2015-12-21  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.  Add
	t_ and orig_type_ fields.  Add new two parameter constructor.  Add
	get_tree and get_decl methods.
	(Gcc_backend::var_expression): Pass location to var get_tree.
	(Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR.  Use
	two parameter constructor for Bvariable.
	(Gcc_backend::global_variable_set_init): Don't remove
	VIEW_CONVERT_EXPR.  Use var get_decl, not get_tree.
	(Gcc_backend::write_global_definitions): Likewise.
	(Gcc_backend::init_statement): Call var get_decl, not get_tree.
	(Gcc_backend::block): Likewise.
	(Gcc_backend::implicit_variable_set_init): Likewise.
	(Gcc_backend::immutable_struct_set_init): Likewise.
	(Gcc_backend::function_set_parameters): Likewise.

2015-12-21  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
	add a VIEW_CONVERT_EXPR to the tree.
	(Gcc_backend::global_variable_set_init): Remove any
	VIEW_CONVERT_EXPR.
	(Gcc_backend::write_global_definitions): Likewise.

2015-11-30  Ian Lance Taylor  <iant@google.com>

	PR go/68477
	* go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
	TYPE_STRING_FLAG on a variant type.

2015-11-11  Andrew MacLeod  <amacleod@redhat.com>

	* go-backend.c: Remove unused header files.
	* go-gcc.cc: Likewise.
	* go-lang.c: Likewise.
	* gospec.c: Likewise.

2015-10-29  Andrew MacLeod  <amacleod@redhat.com>

	* go-backend.c: Reorder #include's and remove duplicates.
	* go-lang.c: Likewise.

2015-10-20  Alan Modra  <amodra@gmail.com>

	PR go/66870
	* gospec.c (saw_opt_m32): Rename to..
	(is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
	Update uses.
	(lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.

2015-10-01  Ian Lance Taylor  <iant@google.com>

	PR go/66870
	* gospec.c (lang_specific_driver): Only look for OPT_m32 if
	TARGET_CAN_SPLIT_STACK_64BIT is defined.

2015-10-01  Lynn Boger  <laboger@linux.vnet.ibm.com>

	PR target/66870
	* gospec.c (lang_specific_driver): Set appropriate split stack
	options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.

2015-09-10  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::type_size): Return -1 for
	unrepresentable size.

2015-08-24  Marek Polacek  <polacek@redhat.com>

	PR tree-optimization/67284
	* go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
	Set TREE_THIS_VOLATILE.
	(Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
	Pass false to the rest of define_builtin calls.

2015-07-31  Andreas Schwab  <schwab@linux-m68k.org>

	* go-lang.c (go_langhook_init_options_struct): Don't set
	x_flag_split_stack.
	(go_langhook_post_options): Set it here instead.

2015-07-12  Aldy Hernandez  <aldyh@redhat.com>

	* gofrontend/backend.h: Fix double word typos.
	* gofrontend/expressions.cc: Same.
	* gospec.c: Same.

2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

	* go-backend.c: Adjust includes.
	* go-gcc.cc: Likewise.
	* go-lang.c: Likewise.

2015-06-25  Andrew MacLeod  <amacleod@redhat.com>

	* go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.

2015-06-17  Andrew MacLeod  <amacleod@redhat.com>

	* go-backend.c: Do not include input.h, line-map.h or is-a.h.
	* go-gcc.cc: Likewise.
	* go-lang.c: Likewise.
	* go-system.h: Likewise.

2015-06-08  Andrew MacLeod  <amacleod@redhat.com>

	* go-backend.c : Adjust include files.
	* go-gcc.cc : Likewise.
	* go-lang.c : Likewise.

2015-06-05  Aldy Hernandez  <aldyh@redhat.com>

	* go-gcc.cc (write_global_definitions): Remove call to
	finalize_compilation_unit.
	Remove Go specific debug generation.
	* go-lang.c (go_langhook_parse_file): Call go_write_globals.
	(go_langhook_write_globals): Remove.
	Remove LANG_HOOKS_WRITE_GLOBALS everywhere.

2015-06-04  Andrew MacLeod  <amacleod@redhat.com>

	* go-backend.c: Adjust includes for restructured coretypes.h.
	* go-c.h: Likewise.
	* go-gcc.cc: Likewise.
	* go-lang.c: Likewise.

2015-04-30  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::stack_allocation_expression): New
	method.

2015-04-27  Jim Wilson  <jim.wilson@linaro.org>

	* Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.

2015-04-17  Chris Manghane  <cmang@google.com>

	* Make-lang.in (GO_OBJS): Add go/escape.o.

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

	PR go/64836
	PR go/64838
	* go-gcc.cc (Gcc_backend::type_size): Change return type to
	int64_t.
	(Gcc_backend::type_alignment): Likewise.
	(Gcc_backend::type_field_alignment): Likewise.
	(Gcc_backend::type_field_offset): Likewise.
	(Gcc_backend::implicit_variable): Change alignment parameter type
	to int64_t.

2015-01-23  Ian Lance Taylor  <iant@google.com>

	PR go/63565
	* gccgo.texi (Invoking gccgo): Mention that Go programs should not
	be stripped.

	* gccgo.texi (C Interoperability): Mention that people should use
	cgo.

2015-01-23  Ian Lance Taylor  <iant@google.com>

	PR go/64595
	* go-lang.c (go_langhook_init_options_struct): Set default
	debug_info_level.
	(go_langhook_post_options): If debug_info_level is still the
	default, make sure write_symbols is set.
	* gccgo.texi (Invoking gccgo): Document that -g1 is the default.

2015-01-16  Richard Henderson  <rth@redhat.com>

	* go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
	(Gcc_backend::static_chain_variable): New method.

2015-01-09  Ian Lance Taylor  <iant@google.com>

	* config-lang.in (lang_dirs): Define.

2015-01-09  Michael Collison  <michael.collison@linaro.org>

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

2015-01-07  Chris Manghane  <cmang@google.com>

	PR go/61204
	* go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
	zero-sized variable.

2015-01-06  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::constructor_expression): Don't
	initialize zero-sized fields, just evaluate the values for side
	effects.

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

	Update copyright years.

	* gccgo.texi: Bump @copyrights-go year.

2014-12-19  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
	construct arrays of zero-sized values.

2014-10-29  Richard Sandiford  <richard.sandiford@arm.com>

	* go-lang.c: Remove redundant enum from machine_mode.

2014-10-28  Andrew MacLeod  <amacleod@redhat.com>

	* go-gcc.cc: Adjust include files.

2014-10-27  Andrew MacLeod  <amacleod@redhat.com>

	* go-gcc.cc: Adjust include files.
	* go-lang.c: Ditto.

2014-10-23  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
	mpc_t parameter instead of two mpfr_t parameters.

2014-09-15  Jakub Jelinek  <jakub@redhat.com>

	* Make-lang.in (check_go_parallelize): Change to just an upper bound
	number.

2014-09-03  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::implicit_variable): Remove init
	parameter.  Add is_hidden parameter.
	(Gcc_backend::implicit_variable_set_init): New method.
	(Gcc_backend::implicit_variable_reference): New method.

2014-08-08  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::compound_statement): Don't return
	NULL_TREE.

2014-07-24  Uros Bizjak  <ubizjak@gmail.com>

	* go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
	symtab_get_node to symtab_node::get.

2014-06-13  Ian Lance Taylor  <iant@google.com>

	PR go/61496
	* gospec.c (lang_specific_driver): On Solaris, when not using GNU
	ld, add -t option to avoid warning about common symbol changing
	size.

2014-06-10  Jan Hubicka  <hubicka@ucw.cz>

	* go-gcc.cc (Gcc_backend::global_variable_set_init): Use
	symtab_get_node(var_decl)->implicit_section.

2014-06-07  Jan Hubicka  <hubicka@ucw.cz>

	* go-gcc.cc (global_variable_set_init): Use
	set_decl_section_name.

2014-06-04  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
	alignment parameters.  Permit init parameter to be NULL.

2014-06-02  Andrew MacLeod  <amacleod@redhat.com>

	* go-gcc.cc: Include builtins.h.

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

	* go-lang.c (struct GTY): Don't use variable_size gty attribute.

2014-05-06  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
	(Gcc_backend::boolean_constant_expression): New method.
	(Gcc_backend::zero_expression): Use this->make_expression rather
	than tree_to_expr.
	(Gcc_backend::var_expression): Likewise.
	(Gcc_backend::integer_constant_expression): Likewise.
	(Gcc_backend::float_constant_expression): Likewise.
	(Gcc_backend::complex_constant_expression): Likewise.
	(Gcc_backend::struct_field_expression): Likewise.
	(tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
	(tree_to_function, tree_to_block): Remove functions.
	(type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
	(block_to_tree, var_to_tree, function_to_tree): Remove functions.

2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
	    Mike Stump  <mikestump@comcast.net>
	    Richard Sandiford  <rdsandiford@googlemail.com>

	* go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.

2014-05-06  Chris Manghane  <cmang@google.com>

	* go-c.h (go_create_gogo): Update declaration to add
	check_divide_zero and check_divide_overflow parameters.
	* go-lang.c (go_langhook_init): Pass new arguments to
	go_create_gogo.

2014-05-05  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::implicit_variable): Rename from
	gc_root_variable.  Add name and is_constant parameters.

2014-05-05  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::indirect_expression): Add btype
	parameter.
	(Gcc_backend::temporary_variable): Check for erroneous function.

2014-04-30  Chris Manghane  <cmang@google.com>

	* go-backend.c: #include "diagnostics.h".
	(saw_errors): New function.
	* go-c.h (saw_errors): Declare.
	* Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.

2014-04-30  Chris Manghane  <cmang@google.com>

	* go-lang.c (go_langhook_type_for_size): Do it here, rather than
	calling into Go frontend.
	(go_langhook_type_for_mode): Likewise.
	* go-c.h (go_type_for_size, go_type_for_mode): Don't declare.

2014-04-30  Chris Manghane  <cmang@google.com>

	* go-gcc.cc: #include "langhooks.h".
	(Gcc_backend::Gcc_backend): Add constructor.
	(Gcc_backend::lookup_function): New function.
	(Gcc_backend::define_builtin): New private function.
	(Gcc_backend::gcc_backend): Remove.
	(go_get_backend): Use new to create new Gcc_backend.

2014-04-25  Chris Manghane  <cmang@google.com>

	* go-gcc.cc: Include "cgraph.h" and "gimplify.h".
	(Gcc_backend::return_statement): Push and pop function.
	(Gcc_backend::label): Likewise.
	(Gcc_backend::function_defer_statement): Likewise.
	(Gcc_backend::switch_statement): Add function parameter.
	(Gcc_backend::block): Don't permit function to be NULL.
	(Gcc_backend::temporary_variable): Change go_assert to
	gcc_assert.
	(Gcc_backend::gc_root_variable): New function.
	(Gcc_backend::write_global_definitions): New function.

2014-04-22  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
	call to create_tmp_var.  Require that function be non-NULL.

2014-04-17  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::named_constant_expression): New
	function.

2014-04-14  Chris Manghane  <cmang@google.com>

	* go-gcc.cc: Include "convert.h".
	(Gcc_backend::string_constant_expression): New function.
	(Gcc_backend::real_part_expression): Likewise.
	(Gcc_backend::imag_part_expression): Likewise.
	(Gcc_backend::complex_expression): Likewise.
	(Gcc_backend::constructor_expression): Likewise.
	(Gcc_backend::array_constructor_expression): Likewise.
	(Gcc_backend::pointer_offset_expression): Likewise.
	(Gcc_backend::array_index_expression): Likewise.
	(Gcc_backend::call_expression): Likewise.
	(Gcc_backend::exception_handler_statement): Likewise.
	(Gcc_backend::function_defer_statement): Likewise.
	(Gcc_backend::function_set_parameters): Likewise.
	(Gcc_backend::function_set_body): Likewise.
	(Gcc_backend::convert_expression): Handle various type
	conversions.

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

	* go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
	DECL_WEAK.
	(GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
	DECL_WEAK.

2014-01-24  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::unary_expression): New function.

2014-01-16  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::conditional_expression): Add btype
	parameter.
	(operator_to_tree_code): New static function.
	(Gcc_backend::binary_expression): New function.

2014-01-14  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::compound_expression): New function.
	(Gcc_backend::conditional_expression): New function.

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

	Update copyright years

2014-01-02  Tobias Burnus  <burnus@net-b.de>

	* gccgo.texi: Bump @copying's copyright year.

2013-12-16  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::struct_field_expression): New function.

2013-12-11  Ian Lance Taylor  <iant@google.com>

	* go-lang.c (go_langhook_post_options): Disable sibling calls by
	default.

2013-12-10  Ian Lance Taylor  <iant@google.com>

	* Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
	separately.

2013-12-05  Ian Lance Taylor  <iant@google.com>

	Revert this change; no longer required.
	2013-11-06  Ian Lance Taylor  <iant@google.com>

	* go-lang.c (go_langhook_post_options): If
	-fisolate-erroneous-paths was turned on by an optimization option,
	turn it off.

2013-11-23  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::function_type): Add result_struct
	parameter.

2013-11-22  Andrew MacLeod  <amacleod@redhat.com>

	* go-gcc.cc: Add required include files from gimple.h.
	* go-lang.c: Likewise.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
	tree_to_shwi throughout.

2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>

	* gofrontend/expressions.cc: Replace host_integerp (..., 0) with
	tree_fits_shwi_p throughout.

2013-11-14  Andrew MacLeod  <amacleod@redhat.com>

	* go-lang.c: Include only gimplify.h and gimple.h as needed.

2013-11-14  Diego Novillo  <dnovillo@google.com>

	* go-backend.c: Include stor-layout.h.
	* go-gcc.cc: Include stringpool.h.
	Include stor-layout.h.
	Include varasm.h.
	* go-lang.c: Include stor-layout.h.

2013-11-12  Andrew MacLeod  <amacleod@redhat.com>

	* go-lang.c: Include gimplify.h.

2013-11-06  Ian Lance Taylor  <iant@google.com>

	* go-lang.c (go_langhook_post_options): If
	-fisolate-erroneous-paths was turned on by an optimization option,
	turn it off.

2013-10-14  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::address_expression): New function.

2013-10-11  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::function_code_expression): New
	function.

2013-10-10  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::error_function): New function.
	(Gcc_backend::function): New function.
	(Gcc_backend::make_function): New function.
	(function_to_tree): New function.

2013-10-04  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::convert_expression): New function.

2013-10-02  Chris Manghane  <cmang@google.com>

	* go-gcc.cc: Include "real.h" and "realmpfr.h".
	(Gcc_backend::integer_constant_expression): New function.
	(Gcc_backend::float_constant_expression): New function.
	(Gcc_backend::complex_constant_expression): New function.

2013-09-30  Chris Manghane  <cmang@google.com>

	* go-gcc.cc (Gcc_backend::error_expression): New function.
	(Gcc_backend::var_expression): New function.
	(Gcc_backend::indirect_expression): New function.

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

	* Make-lang.in (gospec.o): Remove.
	(CFLAGS-go/gospec.o): New variable.
	(GCCGO_OBJS): Update to use go/gospec.o.
	(go_OBJS): Define.
	(GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
	(GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
	(GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
	(go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
	(go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
	(go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
	(go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
	(go/parse.o, go/runtime.o, go/statements.o, go/types.o)
	(go/unsafe.o): Remove.
	(CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
	(go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.

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

	* Make-lang.in (gospec.o): Don't use subshell.

2013-08-28  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
	the struct is not hidden.
	(Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.

2013-08-06  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
	compute_reloc_for_constant.

2013-08-02  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (immutable_struct_set_init): Always call
	resolve_unique_section.

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

	* go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
	fields, recreate those fields with the first one with a non-zero
	size.

2013-07-23  Ian Lance Taylor  <iant@google.com>

	* go-backend.c: Don't #include "rtl.h".
	(go_imported_unsafe): Don't call init_varasm_once.
	* Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).

2013-07-23  Ian Lance Taylor  <iant@google.com>

	* go-lang.c: Don't #include "except.h".
	* Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).

2013-06-18  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
	parameter.
	(Gcc_backend::immutable_struct_set_init): Likewise.

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

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

2013-01-16  Shenghou Ma  <minux.ma@gmail.com>

	* gospec.c: pass -u pthread_create to linker when static linking.

2012-12-21  Ian Lance Taylor  <iant@google.com>

	PR bootstrap/54659
	* go-system.h: Don't include <cstdio>.

2012-12-18  Ian Lance Taylor  <iant@google.com>

	PR go/55201
	* gospec.c: Revert last patch.

2012-12-18  Andreas Schwab  <schwab@linux-m68k.org>

	PR go/55201
	* gospec.c (LIBATOMIC): Define.
	(LIBATOMIC_PROFILE): Define.
	(lang_specific_driver): Add LIBATOMIC[_PROFILE] option.

2012-11-29  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc: Include "output.h".
	(global_variable): Add is_unique_section parameter.
	(global_variable_set_init): Adjust unique section if necessary.
	* Make-lang.in (go/go-gcc.o): Add dependency on output.h.

2012-11-17  Diego Novillo  <dnovillo@google.com>

	Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)

	* go-lang.c: Use new vec API in vec.h.

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

	* Make-lang.in (gccgo$(exeext)): Add + at start of command.
	(go1$(exeext)): Likewise.

2012-10-30  Ian Lance Taylor  <iant@google.com>

	* lang.opt (-fgo-relative-import-path): New option.
	* go-lang.c (go_relative_import_path): New static variable.
	(go_langhook_init): Pass go_relative_import_path to
	go_create_gogo.
	(go_langhook_handle_option): Handle -fgo-relative-import-path.
	* go-c.h (go_create_gogo): Update declaration.
	* gccgo.texi (Invoking gccgo): Document
	-fgo-relative-import-path.

2012-09-17  Ian Lance Taylor  <iant@google.com>

	* config-lang.in (target_libs): Add target-libbacktrace.

2012-09-16  Ian Lance Taylor  <iant@google.com>

	* Make-lang.in (go/gogo.o): Depend on filenames.h.

2012-08-14   Diego Novillo  <dnovillo@google.com>

	Merge from cxx-conversion branch.  Configury.

	* go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
	* go-gcc.cc: Likewise.
	* go-system.h: Likewise.

2012-07-24  Uros Bizjak  <ubizjak@gmail.com>

	* go-lang.c (lang_decl): Add variable_size GTY option.

2012-05-09  Ian Lance Taylor  <iant@google.com>

	* lang.opt: Add -fgo-pkgpath.
	* go-lang.c (go_pkgpath): New static variable.
	(go_prefix): New static variable.
	(go_langhook_init): Pass go_pkgpath and go_prefix to
	go_create_gogo.
	(go_langhook_handle_option): Handle -fgo-pkgpath.  Change
	-fgo-prefix handling to just set go_prefix.
	* go-c.h (go_set_prefix): Don't declare.
	(go_create_gogo): Add pkgpath and prefix to declaration.
	* go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
	to pkgpath.  Don't include the package name in the asm name.
	* gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
	docs for -fgo-prefix.

2012-04-23  Ian Lance Taylor  <iant@google.com>

	* go-lang.c (go_langhook_init): Set MPFR precision to 256.

2012-04-20  Ian Lance Taylor  <iant@google.com>

	* lang.opt: Add -fgo-check-divide-zero and
	-fgo-check-divide-overflow.
	* gccgo.texi (Invoking gccgo): Document new options.

2012-04-18  Steven Bosscher  <steven@gcc.gnu.org>

	* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
	with NULL_TREE type instead of void_type_node.

2012-03-09  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
	to the lhs type if necessary.

2012-03-08  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
	zero-sized variable.
	(go_non_zero_struct): New global variable.
	(Gcc_backend::non_zero_size_type): New function.
	(Gcc_backend::global_variable): Don't build an assignment for a
	zero-sized value.
	* go-c.h (go_non_zero_struct): Declare.
	* config-lang.in (gtfiles): Add go-c.h.

2012-02-29  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (class Gcc_tree): Add set_tree method.
	(set_placeholder_pointer_type): When setting to a pointer to
	error, set to error_mark_node.

2012-02-23  Richard Guenther  <rguenther@suse.de>

	* go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
	build_distinct_type_copy.

2012-02-17  Ian Lance Taylor  <iant@google.com>

	* Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).

2012-02-17  Ian Lance Taylor  <iant@google.com>

	* gospec.c (lang_specific_driver): If linking, and no -o option
	was used, add one.

2012-02-14  Ian Lance Taylor  <iant@google.com>

	PR go/48411
	* Make-lang.in (gccgo-cross$(exeext)): New target.
	(go.all.cross): Depend on gccgo-cross$(exeext) instead of
	gccgo$(exeext).
	(go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
	gccgo-cross$(exeext) does not exist.

2012-02-07  Ian Lance Taylor  <iant@google.com>

	* gccgo.texi (Function Names): Document //extern instead of
	__asm__.

2012-02-01  Jakub Jelinek  <jakub@redhat.com>

	PR target/52079
	* go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
	return build_nonstandard_integer_type result if possible.

2012-01-21  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
	(Gcc_backend::type_alignment): Likewise.
	(Gcc_backend::type_field_alignment): Likewise.
	(Gcc_backend::type_field_offset): Likewise.

2012-01-20  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
	be empty.
	(Gcc_backend::set_placeholder_struct_type): Likewise.

2012-01-17  Ian Lance Taylor  <iant@google.com>

	* gospec.c (lang_specific_driver): If we see -S without -o, add -o
	BASE.s rather than -o BASE.o.

2012-01-11  Ian Lance Taylor  <iant@google.com>

	* go-lang.c (go_langhook_init): Initialize void_list_node before
	calling go_create_gogo.

2012-01-10  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::type_size): New function.
	(Gcc_backend::type_alignment): New function.
	(Gcc_backend::type_field_alignment): New function.
	(Gcc_backend::type_field_offset): New function.
	* go-backend.c (go_type_alignment): Remove.
	* go-c.h (go_type_alignment): Don't declare.

2011-12-27  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
	build_distinct_type_copy rather than build_variant_type_copy.
	(Gcc_backend::set_placeholder_array_type): Likewise.
	(Gcc_backend::named_type): Add special handling for builtin
	basic types.

2011-12-22  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
	for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
	(Gcc_backend::set_placeholder_struct_type): Likewise.
	(Gcc_backend::set_placeholder_array_type): Likewise.
	(Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.

2011-12-13  Ian Lance Taylor  <iant@google.com>

	* go-backend.c: #include "simple-object.h" and "intl.h".
	(GO_EXPORT_SEGMENT_NAME): Define if not defined.
	(GO_EXPORT_SECTION_NAME): Likewise.
	(go_write_export_data): Use GO_EXPORT_SECTION_NAME.
	(go_read_export_data): New function.
	* go-c.h (go_read_export_data): Declare.

2011-11-29  Sanjoy Das  <thedigitalangel@gmail.com>
	    Ian Lance Taylor  <iant@google.com>

	* go-location.h: New file.
	* go-linemap.cc: New file.
	* go-gcc.cc: Change all uses of source_location to Location.
	* Make-lang.in (GO_OBJS): Add go/go-linemap.o.
	(GO_LINEMAP_H): New variable.
	(GO_LEX_H): Use $(GO_LINEMAP_H).
	(GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
	(go/go-linemap.o): New target.

2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.

2011-08-24  Roberto Lublinerman  <rluble@gmail.com>

	* lang.opt: Add fgo-optimize-.
	* go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
	* go-c.h (go_enable_optimize): Declare.
	* Make-lang.in (GO_OBJS): Add go/go-optimize.o.
	(GO_EXPORT_H): Define.
	(GO_IMPORT_H): Add $(GO_EXPORT_H).
	(GO_AST_DUMP_H): Define.
	(go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
	(go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
	(go/types.o): Likewise.
	(go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
	(go/go-optimize.o): New target.

2011-08-24  Joseph Myers  <joseph@codesourcery.com>

	* Make-lang.in (CFLAGS-go/go-lang.o): New.
	(go/go-lang.o): Remove explicit compilation rule.

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

	* Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).

2011-08-02  Roberto Lublinerman  <rluble@gmail.com>

	* Make-lang.in (GO_OBJS): Add go/ast-dump.o.
	(go/ast-dump.o): New target.
	(go/expressions.o): Depend on go/gofrontend/ast-dump.h.
	(go/statements.o): Likewise.

2011-07-06  Richard Guenther  <rguenther@suse.de>

	* go-lang.c (go_langhook_init):
	Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.

2011-06-14  Joseph Myers  <joseph@codesourcery.com>

	* Make-lang.in (go/go-lang.o, go/go-backend.o): Update
	dependencies.
	* go-backend.c: Include common/common-target.h.
	(go_write_export_data): Use targetm_common.have_named_sections.
	* go-lang.c: Include common/common-target.h.
	(go_langhook_init_options_struct): Use
	targetm_common.supports_split_stack.

2011-06-13  Ian Lance Taylor  <iant@google.com>

	* Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).

2011-06-10  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc: Include "toplev.h".
	(Gcc_backend::immutable_struct): New function.
	(Gcc_backend::immutable_struct_set_init): New function.
	(Gcc_backend::immutable_struct_reference): New function.
	* Make-lang.in (go/go-gcc.o): Depend on toplev.h.

2011-06-09  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::zero_expression): New function.

2011-06-07  Richard Guenther  <rguenther@suse.de>

	* go-lang.c (go_langhook_init): Do not set
	size_type_node or call set_sizetype.

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

	* go-backend.c: Include "output.h".
	(go_write_export_data): New function.
	* go-c.h (go_write_export_data): Declare.
	* Make-lang.in (go/go-backend.o): Depend on output.h.
	(go/export.o): Depend on $(GO_C_H).  Do not depend on
	$(MACHMODE_H), output.h, or $(TARGET_H).

2011-05-24  Joseph Myers  <joseph@codesourcery.com>

	* Make-lang.in (GCCGO_OBJS): Remove prefix.o.
	(gccgo$(exeext)): Use libcommon-target.a.

2011-05-20  Joseph Myers  <joseph@codesourcery.com>

	* Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.

2011-05-13  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::function_type): When building a struct
	for multiple results, check that all fields types have a size.
	(Gcc_backend::placeholder_pointer_type): Permit name to be empty.

2011-05-12  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
	parameter.
	(Gcc_backend::parameter_variable): Likewise.

2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>

	* go-lang.c (global_bindings_p): Return bool and simplify.

2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>

	* go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.

2011-05-04  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
	(Gcc_backend::fill_in_struct): New function.
	(Gcc_backend::array_type): Implement.
	(Gcc_backend::fill_in_array): New function.
	(Gcc_backend::placeholder_pointer_type): New function.
	(Gcc_backend::set_placeholder_pointer_type): New function.
	(Gcc_backend::set_placeholder_function_type): New function.
	(Gcc_backend::placeholder_struct_type): New function.
	(Gcc_backend::set_placeholder_struct_type): New function.
	(Gcc_backend::placeholder_array_type): New function.
	(Gcc_backend::set_placeholder_array_type): New function.
	(Gcc_backend::named_type): New function.
	(Gcc_backend::circular_pointer_type): New function.
	(Gcc_backend::is_circular_pointer_type): New function.

2011-04-26  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::struct_type): Implement.

2011-04-25  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::error_type): Implement.
	(Gcc_backend::string_type): Remove.
	(Gcc_backend::function_type): Change signature and implement.
	(Gcc_backend::struct_type): Change signature.
	(Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
	(Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
	(Gcc_backend::pointer_type): Check for error.
	* Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.

2011-04-25  Evan Shaw  <edsrzf@gmail.com>

	* go-gcc.c (class Gcc_tree): Make get_tree const.
	(Gcc_backend::void_type): Implement.
	(Gcc_backend::bool_type): Implement.
	(Gcc_backend::integer_type): Implement.
	(Gcc_backend::float_type): Implement.
	(Gcc_backend::complex_type): New function.
	(Gcc_backend::pointer_type): New function.
	(Gcc_backend::make_type): New function.
	(type_to_tree): New function.

2011-04-21  Ian Lance Taylor  <iant@google.com>

	* go-system.h (go_assert, go_unreachable): Define.

2011-04-19  Ian Lance Taylor  <iant@google.com>

	* go-system.h: Include "intl.h".
	* Make-lang.in (GO_SYSTEM_H): Add intl.h.
	(go/statements.o): Remove dependencies on intl.h $(TREE_H)
	$(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).

2011-04-19  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::temporary_variable): New function.

2011-04-19  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (class Bblock): Define.
	(Gcc_backend::if_statement): Change then_block and else_block to
	Bblock*.
	(Gcc_backend::block): New function.
	(Gcc_backend::block_add_statements): New function.
	(Gcc_backend::block_statement): New function.
	(tree_to_block, block_to_tree): New functions.

2011-04-18  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc: Include "go-c.h".
	(class Bvariable): Define.
	(Gcc_backend::init_statement): New function.
	(Gcc_backend::global_variable): New function.
	(Gcc_backend::global_variable_set_init): New function.
	(Gcc_backend::local_variable): New function.
	(Gcc_backend::parameter_variable): New function.
	(tree_to_type, var_to_tree): New functions.
	* Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
	* (go/gogo-tree.o): Depend on go/gofrontend/backend.h.

2011-04-15  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::compound_statement): New function.
	(Gcc_backend::assignment_statement): Use error_statement.
	(Gcc_backend::return_statement): Likewise.
	(Gcc_backend::if_statement): Likewise.
	(Gcc_backend::switch_statement): Likewise.
	(Gcc_backend::statement_list): Likewise.

2011-04-14  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::error_statement): New function.

2011-04-13  Ian Lance Taylor  <iant@google.com>

	* Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).

2011-04-13  Ian Lance Taylor  <iant@google.com>

	* Make-lang.in (GO_OBJS): Add go/runtime.o.
	(GO_RUNTIME_H): New variable.
	(go/runtime.o): New target.
	(go/gogo.o): Depend on $(GO_RUNTIME_H).
	(go/statements.o): Likewise.

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

	* go-lang.c (union lang_tree_node): Check for TS_COMMON before
	calling TREE_CHAIN.

2011-04-06  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (if_statement): Use build3_loc.
	(Gcc_backend::switch_statement): New function.
	(Gcc_backend::statement_list): New function.

2011-04-06  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::if_statement): New function.
	(tree_to_stat): New function.
	(expr_to_tree): Renamed from expression_to_tree.
	(stat_to_tree): Renamed from statement_to_tree.

2011-04-06  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc (Gcc_backend::expression_statement): New function.

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

	* go-gcc.c (class Blabel): Define.
	(Gcc_backend::make_expression): New function.
	(get_identifier_from_string): New function.
	(Gcc_backend::label): New function.
	(Gcc_backend::label_definition_statement): New function.
	(Gcc_backend::goto_statement): New function.
	(Gcc_backend::label_address): New function.
	(expression_to_tree): New function.
	* Make-lang.in (go/expressions.o): Depend on
	go/gofrontend/backend.h.
	(go/gogo.o): Likewise.

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

	* go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
	(class Bfunction): Define.
	(Gcc_backend::assignment_statement): Rename from assignment.
	Check for errors.
	(Gcc_backend::return_statement): New function.
	(tree_to_function): New function.
	* Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
	$(GIMPLE_H), and $(GO_GOGO_H).

2011-04-03  Ian Lance Taylor  <iant@google.com>

	* go-gcc.cc: New file.
	* Make-lang.in (GO_OBJS): Add go/go-gcc.o.
	(go/go-gcc.o): New target.
	(go/go.o): Depend on go/gofrontend/backend.h.
	(go/statements.o): Likewise.

2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>

	* gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.

2011-02-08  Ian Lance Taylor  <iant@google.com>

	* go-lang.c (go_langhook_init_options_struct): Set
	frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.

2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
	LD_STATIC_OPTION, LD_DYNAMIC_OPTION.

2011-01-21  Ian Lance Taylor  <iant@google.com>

	* go-lang.c (go_langhook_init): Omit float_type_size when calling
	go_create_gogo.
	* go-c.h: Update declaration of go_create_gogo.

2011-01-13  Ian Lance Taylor  <iant@google.com>

	* go-backend.c: Include "rtl.h" and "target.h".
	(go_imported_unsafe): New function.
	* go-c.h (go_imported_unsafe): Declare.
	* Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
	(go/gogo-tree.o): Remove dependency on $(RTL_H).
	(go/unsafe.o): Depend on $(GO_C_H).

2010-12-31  Joern Rennecke  <amylaar@spamcop.net>

	PR go/47113
	* go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
	variable ‘field’ .

2010-12-21  Ian Lance Taylor  <iant@google.com>

	* Make-lang.in (check-go): Remove.
	(lang_checks_parallelized): Add check-go.
	(check_go_parallelize): Set.

2010-12-13  Ian Lance Taylor  <iant@google.com>

	* gospec.c (lang_specific_driver): Add a -o option if not linking
	and there is no -o option already.

2010-12-07  Ian Lance Taylor  <iant@google.com>

	PR tree-optimization/46805
	PR tree-optimization/46833
	* go-lang.c (go_langhook_type_for_mode): Handle vector modes.

2010-12-06  Ian Lance Taylor  <iant@google.com>

	PR other/46789
	PR bootstrap/46812
	* go-lang.c (go_char_p): Define type and vectors.
	(go_search_dirs): New static variable.
	(go_langhook_handle_option): Use version and version/machine
	directories for -L.
	(go_langhook_post_options): Add non-specific -L paths.
	* Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
	DEFAULT_TARGET_MACHINE when compiling.
	* gccgo.texi (Invoking gccgo): Only document -L for linking.
	(Import and Export): Don't mention -L for finding import files.

2010-12-03  Ian Lance Taylor  <iant@google.com>

	PR bootstrap/46776
	* go-backend.c: New file.
	* go-c.h (go_type_alignment): Declare.
	(go_field_alignment, go_trampoline_info): Declare.
	* Make-lang.in (GO_OBJS): Add go/go-backend.o.
	(go/go-backend.o): New target.
	(go/go-lang.o): Make dependencies match source file.
	(go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
	(go/gogo-tree.o): Don't depend on $(TM_H).

2010-12-03  Ian Lance Taylor  <iant@google.com>

	* config-lang.in (build_by_default): Set to no.

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

	Go frontend added to gcc repository.

Copyright (C) 2010-2021 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.
