12020-03-04  Release Manager
2
3	* GCC 8.4.0 released.
4
52019-02-22  Release Manager
6
7	* GCC 8.3.0 released.
8
92018-07-26  Release Manager
10
11	* GCC 8.2.0 released.
12
132018-05-02  Release Manager
14
15	* GCC 8.1.0 released.
16
172018-02-03  Ian Lance Taylor  <iant@golang.org>
18
19	* go-gcc.cc (Gcc_backend::fill_in_struct): Mark struct types as
20	using structural equality.
21
222018-02-02  Ian Lance Taylor  <iant@golang.org>
23
24	* go-gcc.cc (Gcc_backend::type_size): Return 0 for
25	void_type_node.
26	(Gcc_backend::convert_expression): Don't convert if the type of
27	expr_tree is void_type_node.
28	(Gcc_backend::array_index_expression): Don't index if the type of
29	the array expression is void_type_node.
30	(Gcc_backend::init_statement): Don't initialize if the type of the
31	initializer expression is void_type_node.
32	(Gcc_backend::assignment_statement): Don't assign if the type of
33	either the left or right hand side is void_type_node.
34	(Gcc_backend::temporary_variable): Don't initialize if the type of
35	the initializer expression is void_type_node.
36
372018-02-01  Cherry Zhang  <cherryyz@google.com>
38
39	* lang.opt (fgo-optimize): Remove RejectNegative.
40	* go-c.h (go_enable_optimize): Update declaration to take value
41	argument.
42	* go-lang.c (go_langhook_handle_option): Pass value to
43	go_enable_optimize.
44	* gccgo.texi (Invoking gccgo): Update -fgo-optimize-allocs doc.
45
462018-01-30  Ian Lance Taylor  <iant@golang.org>
47
48	* go-gcc.cc (Gcc_backend::convert_tree): New private method.
49	(Gcc_backend::constructor_expression): Call it.
50	(Gcc_backend::assignment_statement): Likewise.
51	(Gcc_backend::temporary_variable): Likewise.
52
532018-01-09  Cherry Zhang  <cherryyz@google.com>
54
55	* go-gcc.cc (local_variable): Add decl_var parameter.
56
572018-01-09  Cherry Zhang  <cherryyz@google.com>
58
59	* lang.opt (fgo-debug-escape-hash): New option.
60	* go-c.h (struct go_create_gogo_args): Add debug_escape_hash
61	field.
62	* go-lang.c (go_langhook_init): Set debug_escape_hash field.
63	* gccgo.texi (Invoking gccgo): Document -fgo-debug-escape-hash.
64
652018-01-05  Ian Lance Taylor  <iant@golang.org>
66
67	* go-gcc.cc (Gcc_backend::Gcc_backend): Correct
68	math_function_type_long to take one argument.
69
702018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
71	    Alan Hayward  <alan.hayward@arm.com>
72	    David Sherwood  <david.sherwood@arm.com>
73
74	* go-lang.c (go_langhook_type_for_mode): Handle MODE_VECTOR_BOOL.
75
762018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
77	    Alan Hayward  <alan.hayward@arm.com>
78	    David Sherwood  <david.sherwood@arm.com>
79
80	* go-lang.c (go_langhook_type_for_mode): Check valid_vector_subparts_p.
81
822018-01-03  Jakub Jelinek  <jakub@redhat.com>
83
84	Update copyright years.
85
86	* gccgo.texi: Bump @copyrights-go year.
87
882017-12-12  Tony Reix  <tony.reix@atos.net>
89	    Ian Lance Taylor  <iant@golang.org>
90
91	* go-lang.c (TARGET_AIX): Define if not defined.
92	(go_langhook_init): Set nil_check_size_threshold to -1 on AIX.
93
942017-12-01  Ian Lance Taylor  <iant@golang.org>
95
96	* go-gcc.cc (Gcc_backend::Gcc_backend): Define
97	__builtin_unreachable.
98	(Gcc_backend::function): Add does_not_return parameter.
99
1002017-12-01  Than McIntosh  <thanm@google.com>
101
102	* go-c.h (go_create_gogo_args): Add nil_check_size_threshold
103	field.
104	* go-lang.c (go_langhook_init): Set nil_check_size_threshold.
105
1062017-11-28  Jakub Jelinek  <jakub@redhat.com>
107
108	* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using
109	build2_loc instead of build3_loc.
110
1112017-11-14  Than McIntosh  <thanm@google.com>
112
113	* go-gcc.cc (var_expression): Remove Varexpr_context parameter.
114
1152017-10-11  Tony Reix  <tony.reix@atos.net>
116
117	* go-system.h (__STDC_FORMAT_MACROS): Define before including any
118	system header files, as is done in ../system.h.
119
1202017-10-05  Ian Lance Taylor  <iant@golang.org>
121
122	* Make-lang.in (GO_OBJS): Add go/names.o.
123
1242017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
125	    Alan Hayward  <alan.hayward@arm.com>
126	    David Sherwood  <david.sherwood@arm.com>
127
128	* go-lang.c (go_langhook_type_for_mode): Use is_complex_float_mode.
129
1302017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
131	    Alan Hayward  <alan.hayward@arm.com>
132	    David Sherwood  <david.sherwood@arm.com>
133
134	* go-lang.c (go_langhook_type_for_mode): Use is_int_mode.
135
1362017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
137	    Alan Hayward  <alan.hayward@arm.com>
138	    David Sherwood  <david.sherwood@arm.com>
139
140	* go-lang.c (go_langhook_type_for_mode): Use is_float_mode.
141
1422017-08-07  Martin Liska  <mliska@suse.cz>
143
144	* go-gcc.cc (Gcc_backend::function): Look up for no_split_stack
145	and not __no_split_stack__.
146
1472017-07-27    Tony Reix  <tony.reix@atos.net>
148
149	* go-backend.c (go_write_export_data): Use EXCLUDE section for
150	AIX.
151
1522017-06-09  Ian Lance Taylor  <iant@golang.org>
153
154	* go-lang.c (go_langhook_post_options): If -fsplit-stack is turned
155	on, disable implicit -forder-blocks-and-partition.
156
1572017-05-12  Than McIntosh  <thanm@google.com>
158
159	* go-gcc.cc (Gcc_backend::call_expression): Add caller parameter.
160
1612017-05-11  Ian Lance Taylor  <iant@google.com>
162
163	PR go/64238
164	* go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
165	DECL_EXTERNAL, clear TREE_STATIC.
166
1672017-05-10  Than McIntosh  <thanm@google.com>
168
169	* go-backend.c: Include "go-c.h".
170	* go-gcc.cc (Gcc_backend::write_export_data): New method.
171
1722017-05-10  Ian Lance Taylor  <iant@google.com>
173
174	* go-gcc.cc (Gcc_backend::Gcc_backend): Declare
175	__builtin_prefetch.
176	* Make-lang.in (GO_OBJS): Add go/wb.o.
177
1782017-03-28  Than McIntosh  <thanm@google.com>
179
180	PR go/80226
181	* go-gcc.cc (Gcc_backend::return_statement): Check for
182	void_type_node when checking result size.
183
1842017-02-20  Ian Lance Taylor  <iant@golang.org>
185
186	PR go/79642
187	* lang.opt (-fgo-relative-import-path): Change space to tab.
188
1892017-02-07  Richard Biener  <rguenther@suse.de>
190
191	PR tree-optimization/79256
192	PR middle-end/79278
193	* go-backend.c (go_field_alignment): Adjust.
194
1952017-01-11  Than McIntosh  <thanm@google.com>
196
197	* go-gcc.cc (conditional_expression): Add Bfunction parameter.
198
1992017-01-01  Jakub Jelinek  <jakub@redhat.com>
200
201	Update copyright years.
202
203	* gccgo.texi: Bump @copyrights-go year.
204
2052016-12-16  Than McIntosh  <thanm@google.com>
206
207	* go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
208	parameter.
209	(Gcc_backend::init_statement): Likewise.
210	(Gcc_backend::assignment_statement): Likewise.
211	(Gcc_backend::if_statement): Likewise.
212
2132016-12-06  Than McIntosh  <thanm@google.com>
214
215	* go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
216	parameter.
217
2182016-11-22  Than McIntosh  <thanm@google.com>
219
220	* go-gcc.cc (char_needs_encoding): Remove.
221	(needs_encoding, fetch_utf8_char, encode_id): Remove.
222	(Gcc_backend::global_variable): Add asm_name parameter.  Don't
223	compute asm_name here.
224	(Gcc_backend::implicit_variable): Likewise.
225	(Gcc_backend::implicit_variable_reference): Likewise.
226	(Gcc_backend::immutable_struct): Likewise.
227	(Gcc_backend::immutable_struct_reference): Likewise.
228	* Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
229
2302016-11-22  Ian Lance Taylor  <iant@google.com>
231
232	* go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
233	__builtin_frame_address.
234
2352016-10-25  David Malcolm  <dmalcolm@redhat.com>
236
237	* go-lang.c (go_langhook_type_for_mode): Remove redundant cast
238	from result of GET_MODE_CLASS.  Minor formatting fixes.
239
2402016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
241
242	* go-backend.c: Include memmodel.h.
243
2442016-10-10  Than McIntosh  <thanm@google.com>
245
246	* go-gcc.h: New file.
247	* go-c.h (struct go_create_gogo_args): Add backend and linemap
248	fields.
249	* go-lang.c: Include "go-gcc.h".
250	(go_langhook_init): Set linemap and backend fields of args.
251	* go-gcc.cc: Include "go-gcc.h".
252	* go-linemap.cc: Include "go-gcc.h".
253
2542016-10-10  Than McIntosh  <thanm@google.com>
255
256	* go-linemap.cc (Gcc_linemap::location_line): New method.
257
2582016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
259
260	* config-lang.in (lang_requires_boot_languages): Delete.
261
2622016-10-06  Chris Manghane  <cmang@google.com>
263
264	* go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
265	returned memory.
266
2672016-09-27  Than McIntosh  <thanm@google.com>
268
269	* go-linemap.cc (Gcc_linemap::to_string): New method.
270
2712016-09-23  Than McIntosh  <thanm@google.com>
272
273	* go-gcc-diagnostics.cc: New file.
274	* go-location.h (Location): Remove operator source_location.  Add
275	operator==.
276	* go-system.h: #include <sstream>.
277	* Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
278	go/go-gcc-diagnostics.o.
279	(CFLAGS-go/go-gcc-diagnostics.o): New variable.
280
2812016-09-23  Chris Manghane  <cmang@google.com>
282
283	PR go/77701
284	* go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
285	to pass arguments in the correct order.
286
2872016-09-22  Ian Lance Taylor  <iant@golang.org>
288
289	* go-gcc.cc (Gcc_backend::Gcc_backend): Declare
290	__builtin_frame_address.
291
2922016-09-11  Ian Lance Taylor  <iant@golang.org>
293
294	* go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
295	ctz, ctzll, bswap32, bswap64.
296
2972016-09-10  Ian Lance Taylor  <iant@golang.org>
298
299	* go-backend.c (go_trampoline_info): Remove.
300	* go-c.h (go_trampoline_info): Don't declare.
301
3022016-09-09  Than McIntosh  <thanm@google.com>
303
304	* go-sha1.cc: New file.
305	* Make-lang.in (GO_OBJS): Add go/go-sha1.o.
306	(CFLAGS-go/go-sha1.o): New variable.
307
3082016-08-29  Ian Lance Taylor  <iant@google.com>
309
310	* lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
311	* go-c.h (struct go_create_gogo_args): Define.
312	(go_create_gogo): Change declaration to take struct pointer.
313	* go-lang.c (go_c_header): New static variable.
314	(go_langhook_init): Update call to go_create_gogo.
315	* gccgo.texi (Invoking gccgo): Document -fgo-c-header and
316	-fgo-compiling-runtime.
317
3182016-08-09  Ian Lance Taylor  <iant@google.com>
319
320	* gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
321	-fgo-debug-escae.
322	(Compiler Directives): New chapter.
323	(Function Names): Describe using //go:linkname.  Suggest using
324	-fgo-pkgpath rather than -fgo-prefix.
325
3262016-08-08  Ian Lance Taylor  <iant@google.com>
327
328	PR go/72814
329	* go-gcc.cc (Gcc_backend::function_type): If the return type is
330	zero bytes, treat the function as returning void.
331	(return_statement): If the return type is zero bytes, don't
332	actually return any values.
333
3342016-08-05  Ian Lance Taylor  <iant@google.com>
335
336	PR go/72812
337	* go-gcc.cc (char_needs_encoding): New static function.
338	(needs_encoding, fetch_utf8_char): New static functions.
339	(encode_id): New static function.
340	(Gcc_backend::global_variable): Set asm name if the name is not
341	simple ASCII.
342	(Gcc_backend::implicit_variable): Likewise.
343	(Gcc_backend::implicit_variable_reference): Likewise.
344	(Gcc_backend::immutable_struct): Likewise.
345	(Gcc_backend::immutable_struct_reference): Likewise.
346	(Gcc_backend::function): Likewise.
347
3482016-08-02  Chris Manghane  <cmang@google.com>
349
350	* lang.opt: Add -fgo-debug-escape option.
351	* go-c.h (go_create_gogo): Add debug_escape_level parameter.
352	* go-lang.c (go_langhook_init): Pass go_debug_escape_level to
353	go_create_gogo.
354
3552016-05-06  Chris Manghane  <cmang@google.com>
356
357	* Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
358	new escape.cc).
359
3602016-04-29  Chris Manghane  <cmang@google.com>
361
362	* Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
363
3642016-04-18  Michael Matz  <matz@suse.de>
365
366	* go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
367
3682016-02-12  Jakub Jelinek  <jakub@redhat.com>
369
370	* gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
371	neighbour -> neighbor.
372	* gccgo.texi: Likewise.
373
3742016-01-27  Ian Lance Taylor  <iant@google.com>
375
376	* go-lang.c (go_langhook_init_options_struct): Default to
377	-fkeep-gc-roots-live.
378
3792016-01-04  Jakub Jelinek  <jakub@redhat.com>
380
381	Update copyright years.
382
383	* gccgo.texi: Bump @copyrights-go year.
384
3852015-12-21  Ian Lance Taylor  <iant@google.com>
386
387	* go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.  Add
388	t_ and orig_type_ fields.  Add new two parameter constructor.  Add
389	get_tree and get_decl methods.
390	(Gcc_backend::var_expression): Pass location to var get_tree.
391	(Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR.  Use
392	two parameter constructor for Bvariable.
393	(Gcc_backend::global_variable_set_init): Don't remove
394	VIEW_CONVERT_EXPR.  Use var get_decl, not get_tree.
395	(Gcc_backend::write_global_definitions): Likewise.
396	(Gcc_backend::init_statement): Call var get_decl, not get_tree.
397	(Gcc_backend::block): Likewise.
398	(Gcc_backend::implicit_variable_set_init): Likewise.
399	(Gcc_backend::immutable_struct_set_init): Likewise.
400	(Gcc_backend::function_set_parameters): Likewise.
401
4022015-12-21  Ian Lance Taylor  <iant@google.com>
403
404	* go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
405	add a VIEW_CONVERT_EXPR to the tree.
406	(Gcc_backend::global_variable_set_init): Remove any
407	VIEW_CONVERT_EXPR.
408	(Gcc_backend::write_global_definitions): Likewise.
409
4102015-11-30  Ian Lance Taylor  <iant@google.com>
411
412	PR go/68477
413	* go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
414	TYPE_STRING_FLAG on a variant type.
415
4162015-11-11  Andrew MacLeod  <amacleod@redhat.com>
417
418	* go-backend.c: Remove unused header files.
419	* go-gcc.cc: Likewise.
420	* go-lang.c: Likewise.
421	* gospec.c: Likewise.
422
4232015-10-29  Andrew MacLeod  <amacleod@redhat.com>
424
425	* go-backend.c: Reorder #include's and remove duplicates.
426	* go-lang.c: Likewise.
427
4282015-10-20  Alan Modra  <amodra@gmail.com>
429
430	PR go/66870
431	* gospec.c (saw_opt_m32): Rename to..
432	(is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
433	Update uses.
434	(lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
435
4362015-10-01  Ian Lance Taylor  <iant@google.com>
437
438	PR go/66870
439	* gospec.c (lang_specific_driver): Only look for OPT_m32 if
440	TARGET_CAN_SPLIT_STACK_64BIT is defined.
441
4422015-10-01  Lynn Boger  <laboger@linux.vnet.ibm.com>
443
444	PR target/66870
445	* gospec.c (lang_specific_driver): Set appropriate split stack
446	options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
447
4482015-09-10  Chris Manghane  <cmang@google.com>
449
450	* go-gcc.cc (Gcc_backend::type_size): Return -1 for
451	unrepresentable size.
452
4532015-08-24  Marek Polacek  <polacek@redhat.com>
454
455	PR tree-optimization/67284
456	* go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
457	Set TREE_THIS_VOLATILE.
458	(Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
459	Pass false to the rest of define_builtin calls.
460
4612015-07-31  Andreas Schwab  <schwab@linux-m68k.org>
462
463	* go-lang.c (go_langhook_init_options_struct): Don't set
464	x_flag_split_stack.
465	(go_langhook_post_options): Set it here instead.
466
4672015-07-12  Aldy Hernandez  <aldyh@redhat.com>
468
469	* gofrontend/backend.h: Fix double word typos.
470        * gofrontend/expressions.cc: Same.
471	* gospec.c: Same.
472
4732015-07-07  Andrew MacLeod  <amacleod@redhat.com>
474
475	* go-backend.c: Adjust includes.
476	* go-gcc.cc: Likewise.
477	* go-lang.c: Likewise.
478
4792015-06-25  Andrew MacLeod  <amacleod@redhat.com>
480
481	* go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
482
4832015-06-17  Andrew MacLeod  <amacleod@redhat.com>
484
485	* go-backend.c: Do not include input.h, line-map.h or is-a.h.
486	* go-gcc.cc: Likewise.
487	* go-lang.c: Likewise.
488	* go-system.h: Likewise.
489
4902015-06-08  Andrew MacLeod  <amacleod@redhat.com>
491
492	* go-backend.c : Adjust include files.
493	* go-gcc.cc : Likewise.
494	* go-lang.c : Likewise.
495
4962015-06-05  Aldy Hernandez  <aldyh@redhat.com>
497
498	* go-gcc.cc (write_global_definitions): Remove call to
499	finalize_compilation_unit.
500	Remove Go specific debug generation.
501	* go-lang.c (go_langhook_parse_file): Call go_write_globals.
502	(go_langhook_write_globals): Remove.
503	Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
504
5052015-06-04  Andrew MacLeod  <amacleod@redhat.com>
506
507	* go-backend.c: Adjust includes for restructured coretypes.h.
508	* go-c.h: Likewise.
509	* go-gcc.cc: Likewise.
510	* go-lang.c: Likewise.
511
5122015-04-30  Chris Manghane  <cmang@google.com>
513
514	* go-gcc.cc (Gcc_backend::stack_allocation_expression): New
515	method.
516
5172015-04-27  Jim Wilson  <jim.wilson@linaro.org>
518
519	* Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
520
5212015-04-17  Chris Manghane  <cmang@google.com>
522
523	* Make-lang.in (GO_OBJS): Add go/escape.o.
524
5252015-02-02  Ian Lance Taylor  <iant@google.com>
526
527	PR go/64836
528	PR go/64838
529	* go-gcc.cc (Gcc_backend::type_size): Change return type to
530	int64_t.
531	(Gcc_backend::type_alignment): Likewise.
532	(Gcc_backend::type_field_alignment): Likewise.
533	(Gcc_backend::type_field_offset): Likewise.
534	(Gcc_backend::implicit_variable): Change alignment parameter type
535	to int64_t.
536
5372015-01-23  Ian Lance Taylor  <iant@google.com>
538
539	PR go/63565
540	* gccgo.texi (Invoking gccgo): Mention that Go programs should not
541	be stripped.
542
543	* gccgo.texi (C Interoperability): Mention that people should use
544	cgo.
545
5462015-01-23  Ian Lance Taylor  <iant@google.com>
547
548	PR go/64595
549	* go-lang.c (go_langhook_init_options_struct): Set default
550	debug_info_level.
551	(go_langhook_post_options): If debug_info_level is still the
552	default, make sure write_symbols is set.
553	* gccgo.texi (Invoking gccgo): Document that -g1 is the default.
554
5552015-01-16  Richard Henderson  <rth@redhat.com>
556
557	* go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
558	(Gcc_backend::static_chain_variable): New method.
559
5602015-01-09  Ian Lance Taylor  <iant@google.com>
561
562	* config-lang.in (lang_dirs): Define.
563
5642015-01-09  Michael Collison  <michael.collison@linaro.org>
565
566	* go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
567	input.h, alias.h, symtab.h, options.h, fold-const.h,
568	wide-int.h, and inchash.h due to flattening of tree.h.
569	* go-lang.c: Ditto.
570	* go-backend.c: Ditto.
571
5722015-01-07  Chris Manghane  <cmang@google.com>
573
574	PR go/61204
575	* go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
576	zero-sized variable.
577
5782015-01-06  Chris Manghane  <cmang@google.com>
579
580	* go-gcc.cc (Gcc_backend::constructor_expression): Don't
581	initialize zero-sized fields, just evaluate the values for side
582	effects.
583
5842015-01-05  Jakub Jelinek  <jakub@redhat.com>
585
586	Update copyright years.
587
588	* gccgo.texi: Bump @copyrights-go year.
589
5902014-12-19  Chris Manghane  <cmang@google.com>
591
592	* go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
593	construct arrays of zero-sized values.
594
5952014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
596
597	* go-lang.c: Remove redundant enum from machine_mode.
598
5992014-10-28  Andrew MacLeod  <amacleod@redhat.com>
600
601	* go-gcc.cc: Adjust include files.
602
6032014-10-27  Andrew MacLeod  <amacleod@redhat.com>
604
605	* go-gcc.cc: Adjust include files.
606	* go-lang.c: Ditto.
607
6082014-10-23  Ian Lance Taylor  <iant@google.com>
609
610	* go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
611	mpc_t parameter instead of two mpfr_t parameters.
612
6132014-09-15  Jakub Jelinek  <jakub@redhat.com>
614
615	* Make-lang.in (check_go_parallelize): Change to just an upper bound
616	number.
617
6182014-09-03  Chris Manghane  <cmang@google.com>
619
620	* go-gcc.cc (Gcc_backend::implicit_variable): Remove init
621	parameter.  Add is_hidden parameter.
622	(Gcc_backend::implicit_variable_set_init): New method.
623	(Gcc_backend::implicit_variable_reference): New method.
624
6252014-08-08  Ian Lance Taylor  <iant@google.com>
626
627	* go-gcc.cc (Gcc_backend::compound_statement): Don't return
628	NULL_TREE.
629
6302014-07-24  Uros Bizjak  <ubizjak@gmail.com>
631
632	* go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
633	symtab_get_node to symtab_node::get.
634
6352014-06-13  Ian Lance Taylor  <iant@google.com>
636
637	PR go/61496
638	* gospec.c (lang_specific_driver): On Solaris, when not using GNU
639	ld, add -t option to avoid warning about common symbol changing
640	size.
641
6422014-06-10  Jan Hubicka  <hubicka@ucw.cz>
643
644	* go-gcc.cc (Gcc_backend::global_variable_set_init): Use
645	symtab_get_node(var_decl)->implicit_section.
646
6472014-06-07  Jan Hubicka  <hubicka@ucw.cz>
648
649	* go-gcc.cc (global_variable_set_init): Use
650	set_decl_section_name.
651
6522014-06-04  Ian Lance Taylor  <iant@google.com>
653
654	* go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
655	alignment parameters.  Permit init parameter to be NULL.
656
6572014-06-02  Andrew MacLeod  <amacleod@redhat.com>
658
659	* go-gcc.cc: Include builtins.h.
660
6612014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
662
663	* go-lang.c (struct GTY): Don't use variable_size gty attribute.
664
6652014-05-06  Chris Manghane  <cmang@google.com>
666
667	* go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
668	(Gcc_backend::boolean_constant_expression): New method.
669	(Gcc_backend::zero_expression): Use this->make_expression rather
670	than tree_to_expr.
671	(Gcc_backend::var_expression): Likewise.
672	(Gcc_backend::integer_constant_expression): Likewise.
673	(Gcc_backend::float_constant_expression): Likewise.
674	(Gcc_backend::complex_constant_expression): Likewise.
675	(Gcc_backend::struct_field_expression): Likewise.
676	(tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
677	(tree_to_function, tree_to_block): Remove functions.
678	(type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
679	(block_to_tree, var_to_tree, function_to_tree): Remove functions.
680
6812014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
682	    Mike Stump  <mikestump@comcast.net>
683	    Richard Sandiford  <rdsandiford@googlemail.com>
684
685	* go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
686
6872014-05-06  Chris Manghane  <cmang@google.com>
688
689	* go-c.h (go_create_gogo): Update declaration to add
690	check_divide_zero and check_divide_overflow parameters.
691	* go-lang.c (go_langhook_init): Pass new arguments to
692	go_create_gogo.
693
6942014-05-05  Chris Manghane  <cmang@google.com>
695
696	* go-gcc.cc (Gcc_backend::implicit_variable): Rename from
697	gc_root_variable.  Add name and is_constant parameters.
698
6992014-05-05  Chris Manghane  <cmang@google.com>
700
701	* go-gcc.cc (Gcc_backend::indirect_expression): Add btype
702	parameter.
703	(Gcc_backend::temporary_variable): Check for erroneous function.
704
7052014-04-30  Chris Manghane  <cmang@google.com>
706
707	* go-backend.c: #include "diagnostics.h".
708	(saw_errors): New function.
709	* go-c.h (saw_errors): Declare.
710	* Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
711
7122014-04-30  Chris Manghane  <cmang@google.com>
713
714	* go-lang.c (go_langhook_type_for_size): Do it here, rather than
715	calling into Go frontend.
716	(go_langhook_type_for_mode): Likewise.
717	* go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
718
7192014-04-30  Chris Manghane  <cmang@google.com>
720
721	* go-gcc.cc: #include "langhooks.h".
722	(Gcc_backend::Gcc_backend): Add constructor.
723	(Gcc_backend::lookup_function): New function.
724	(Gcc_backend::define_builtin): New private function.
725	(Gcc_backend::gcc_backend): Remove.
726	(go_get_backend): Use new to create new Gcc_backend.
727
7282014-04-25  Chris Manghane  <cmang@google.com>
729
730	* go-gcc.cc: Include "cgraph.h" and "gimplify.h".
731	(Gcc_backend::return_statement): Push and pop function.
732	(Gcc_backend::label): Likewise.
733	(Gcc_backend::function_defer_statement): Likewise.
734	(Gcc_backend::switch_statement): Add function parameter.
735	(Gcc_backend::block): Don't permit function to be NULL.
736	(Gcc_backend::temporary_variable): Change go_assert to
737	gcc_assert.
738	(Gcc_backend::gc_root_variable): New function.
739	(Gcc_backend::write_global_definitions): New function.
740
7412014-04-22  Chris Manghane  <cmang@google.com>
742
743	* go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
744	call to create_tmp_var.  Require that function be non-NULL.
745
7462014-04-17  Chris Manghane  <cmang@google.com>
747
748	* go-gcc.cc (Gcc_backend::named_constant_expression): New
749	function.
750
7512014-04-14  Chris Manghane  <cmang@google.com>
752
753	* go-gcc.cc: Include "convert.h".
754	(Gcc_backend::string_constant_expression): New function.
755	(Gcc_backend::real_part_expression): Likewise.
756	(Gcc_backend::imag_part_expression): Likewise.
757	(Gcc_backend::complex_expression): Likewise.
758	(Gcc_backend::constructor_expression): Likewise.
759	(Gcc_backend::array_constructor_expression): Likewise.
760	(Gcc_backend::pointer_offset_expression): Likewise.
761	(Gcc_backend::array_index_expression): Likewise.
762	(Gcc_backend::call_expression): Likewise.
763	(Gcc_backend::exception_handler_statement): Likewise.
764	(Gcc_backend::function_defer_statement): Likewise.
765	(Gcc_backend::function_set_parameters): Likewise.
766	(Gcc_backend::function_set_body): Likewise.
767	(Gcc_backend::convert_expression): Handle various type
768	conversions.
769
7702014-03-03  Ian Lance Taylor  <iant@google.com>
771
772	* go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
773	DECL_WEAK.
774	(GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
775	DECL_WEAK.
776
7772014-01-24  Chris Manghane  <cmang@google.com>
778
779	* go-gcc.cc (Gcc_backend::unary_expression): New function.
780
7812014-01-16  Chris Manghane  <cmang@google.com>
782
783	* go-gcc.cc (Gcc_backend::conditional_expression): Add btype
784	parameter.
785	(operator_to_tree_code): New static function.
786	(Gcc_backend::binary_expression): New function.
787
7882014-01-14  Chris Manghane  <cmang@google.com>
789
790	* go-gcc.cc (Gcc_backend::compound_expression): New function.
791	(Gcc_backend::conditional_expression): New function.
792
7932014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
794
795	Update copyright years
796
7972014-01-02  Tobias Burnus  <burnus@net-b.de>
798
799	* gccgo.texi: Bump @copying's copyright year.
800
8012013-12-16  Chris Manghane  <cmang@google.com>
802
803	* go-gcc.cc (Gcc_backend::struct_field_expression): New function.
804
8052013-12-11  Ian Lance Taylor  <iant@google.com>
806
807	* go-lang.c (go_langhook_post_options): Disable sibling calls by
808	default.
809
8102013-12-10  Ian Lance Taylor  <iant@google.com>
811
812	* Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
813	separately.
814
8152013-12-05  Ian Lance Taylor  <iant@google.com>
816
817	Revert this change; no longer required.
818	2013-11-06  Ian Lance Taylor  <iant@google.com>
819
820	* go-lang.c (go_langhook_post_options): If
821	-fisolate-erroneous-paths was turned on by an optimization option,
822	turn it off.
823
8242013-11-23  Ian Lance Taylor  <iant@google.com>
825
826	* go-gcc.cc (Gcc_backend::function_type): Add result_struct
827	parameter.
828
8292013-11-22  Andrew MacLeod  <amacleod@redhat.com>
830
831	* go-gcc.cc: Add required include files from gimple.h.
832	* go-lang.c: Likewise
833
8342013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
835
836	* gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
837	tree_to_shwi throughout.
838
8392013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
840
841	* gofrontend/expressions.cc: Replace host_integerp (..., 0) with
842	tree_fits_shwi_p throughout.
843
8442013-11-14  Andrew MacLeod  <amacleod@redhat.com>
845
846	* go-lang.c: Include only gimplify.h and gimple.h as needed.
847
8482013-11-14  Diego Novillo  <dnovillo@google.com>
849
850	* go-backend.c: Include stor-layout.h.
851	* go-gcc.cc: Include stringpool.h.
852	Include stor-layout.h.
853	Include varasm.h.
854	* go-lang.c: Include stor-layout.h.
855
8562013-11-12  Andrew MacLeod  <amacleod@redhat.com>
857
858	* go-lang.c: Include gimplify.h.
859
8602013-11-06  Ian Lance Taylor  <iant@google.com>
861
862	* go-lang.c (go_langhook_post_options): If
863	-fisolate-erroneous-paths was turned on by an optimization option,
864	turn it off.
865
8662013-10-14  Chris Manghane  <cmang@google.com>
867
868	* go-gcc.cc (Gcc_backend::address_expression): New function.
869
8702013-10-11  Chris Manghane  <cmang@google.com>
871
872	* go-gcc.cc (Gcc_backend::function_code_expression): New
873	function.
874
8752013-10-10  Chris Manghane  <cmang@google.com>
876
877	* go-gcc.cc (Gcc_backend::error_function): New function.
878	(Gcc_backend::function): New function.
879	(Gcc_backend::make_function): New function.
880	(function_to_tree): New function.
881
8822013-10-04  Chris Manghane  <cmang@google.com>
883
884	* go-gcc.cc (Gcc_backend::convert_expression): New function.
885
8862013-10-02  Chris Manghane  <cmang@google.com>
887
888	* go-gcc.cc: Include "real.h" and "realmpfr.h".
889	(Gcc_backend::integer_constant_expression): New function.
890	(Gcc_backend::float_constant_expression): New function.
891	(Gcc_backend::complex_constant_expression): New function.
892
8932013-09-30  Chris Manghane  <cmang@google.com>
894
895	* go-gcc.cc (Gcc_backend::error_expression): New function.
896	(Gcc_backend::var_expression): New function.
897	(Gcc_backend::indirect_expression): New function.
898
8992013-09-25  Tom Tromey  <tromey@redhat.com>
900
901	* Make-lang.in (gospec.o): Remove.
902	(CFLAGS-go/gospec.o): New variable.
903	(GCCGO_OBJS): Update to use go/gospec.o.
904	(go_OBJS): Define.
905	(GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
906	(GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
907	(GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
908	(go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
909	(go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
910	(go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
911	(go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
912	(go/parse.o, go/runtime.o, go/statements.o, go/types.o)
913	(go/unsafe.o): Remove.
914	(CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
915	(go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
916
9172013-09-25  Tom Tromey  <tromey@redhat.com>
918
919	* Make-lang.in (gospec.o): Don't use subshell.
920
9212013-08-28  Ian Lance Taylor  <iant@google.com>
922
923	* go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
924	the struct is not hidden.
925	(Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
926
9272013-08-06  Ian Lance Taylor  <iant@google.com>
928
929	* go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
930	compute_reloc_for_constant.
931
9322013-08-02  Ian Lance Taylor  <iant@google.com>
933
934	* go-gcc.cc (immutable_struct_set_init): Always call
935	resolve_unique_section.
936
9372013-07-24  Ian Lance Taylor  <iant@google.com>
938
939	* go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
940	fields, recreate those fields with the first one with a non-zero
941	size.
942
9432013-07-23  Ian Lance Taylor  <iant@google.com>
944
945	* go-backend.c: Don't #include "rtl.h".
946	(go_imported_unsafe): Don't call init_varasm_once.
947	* Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
948
9492013-07-23  Ian Lance Taylor  <iant@google.com>
950
951	* go-lang.c: Don't #include "except.h".
952	* Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
953
9542013-06-18  Ian Lance Taylor  <iant@google.com>
955
956	* go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
957	parameter.
958	(Gcc_backend::immutable_struct_set_init): Likewise.
959
9602013-05-16  Jason Merrill  <jason@redhat.com>
961
962	* Make-lang.in (go1$(exeext)): Use link mutex.
963
9642013-01-16  Shenghou Ma  <minux.ma@gmail.com>
965
966	* gospec.c: pass -u pthread_create to linker when static linking.
967
9682012-12-21  Ian Lance Taylor  <iant@google.com>
969
970	PR bootstrap/54659
971	* go-system.h: Don't include <cstdio>.
972
9732012-12-18  Ian Lance Taylor  <iant@google.com>
974
975	PR go/55201
976	* gospec.c: Revert last patch.
977
9782012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
979
980	PR go/55201
981	* gospec.c (LIBATOMIC): Define.
982	(LIBATOMIC_PROFILE): Define.
983	(lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
984
9852012-11-29  Ian Lance Taylor  <iant@google.com>
986
987	* go-gcc.cc: Include "output.h".
988	(global_variable): Add is_unique_section parameter.
989	(global_variable_set_init): Adjust unique section if necessary.
990	* Make-lang.in (go/go-gcc.o): Add dependency on output.h.
991
9922012-11-17  Diego Novillo  <dnovillo@google.com>
993
994	Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
995
996	* go-lang.c: Use new vec API in vec.h.
997
9982012-11-16  Ian Lance Taylor  <iant@google.com>
999
1000	* Make-lang.in (gccgo$(exeext)): Add + at start of command.
1001	(go1$(exeext)): Likewise.
1002
10032012-10-30  Ian Lance Taylor  <iant@google.com>
1004
1005	* lang.opt (-fgo-relative-import-path): New option.
1006	* go-lang.c (go_relative_import_path): New static variable.
1007	(go_langhook_init): Pass go_relative_import_path to
1008	go_create_gogo.
1009	(go_langhook_handle_option): Handle -fgo-relative-import-path.
1010	* go-c.h (go_create_gogo): Update declaration.
1011	* gccgo.texi (Invoking gccgo): Document
1012	-fgo-relative-import-path.
1013
10142012-09-17  Ian Lance Taylor  <iant@google.com>
1015
1016	* config-lang.in (target_libs): Add target-libbacktrace.
1017
10182012-09-16  Ian Lance Taylor  <iant@google.com>
1019
1020	* Make-lang.in (go/gogo.o): Depend on filenames.h.
1021
10222012-08-14   Diego Novillo  <dnovillo@google.com>
1023
1024	Merge from cxx-conversion branch.  Configury.
1025
1026	* go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
1027	* go-gcc.cc: Likewise.
1028	* go-system.h: Likewise.
1029
10302012-07-24  Uros Bizjak  <ubizjak@gmail.com>
1031
1032	* go-lang.c (lang_decl): Add variable_size GTY option.
1033
10342012-05-09  Ian Lance Taylor  <iant@google.com>
1035
1036	* lang.opt: Add -fgo-pkgpath.
1037	* go-lang.c (go_pkgpath): New static variable.
1038	(go_prefix): New static variable.
1039	(go_langhook_init): Pass go_pkgpath and go_prefix to
1040	go_create_gogo.
1041	(go_langhook_handle_option): Handle -fgo-pkgpath.  Change
1042	-fgo-prefix handling to just set go_prefix.
1043	* go-c.h (go_set_prefix): Don't declare.
1044	(go_create_gogo): Add pkgpath and prefix to declaration.
1045	* go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
1046	to pkgpath.  Don't include the package name in the asm name.
1047	* gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
1048	docs for -fgo-prefix.
1049
10502012-04-23  Ian Lance Taylor  <iant@google.com>
1051
1052	* go-lang.c (go_langhook_init): Set MPFR precision to 256.
1053
10542012-04-20  Ian Lance Taylor  <iant@google.com>
1055
1056	* lang.opt: Add -fgo-check-divide-zero and
1057	-fgo-check-divide-overflow.
1058	* gccgo.texi (Invoking gccgo): Document new options.
1059
10602012-04-18  Steven Bosscher  <steven@gcc.gnu.org>
1061
1062	* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
1063	with NULL_TREE type instead of void_type_node.
1064
10652012-03-09  Ian Lance Taylor  <iant@google.com>
1066
1067	* go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
1068	to the lhs type if necessary.
1069
10702012-03-08  Ian Lance Taylor  <iant@google.com>
1071
1072	* go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
1073	zero-sized variable.
1074	(go_non_zero_struct): New global variable.
1075	(Gcc_backend::non_zero_size_type): New function.
1076	(Gcc_backend::global_variable): Don't build an assignment for a
1077	zero-sized value.
1078	* go-c.h (go_non_zero_struct): Declare.
1079	* config-lang.in (gtfiles): Add go-c.h.
1080
10812012-02-29  Ian Lance Taylor  <iant@google.com>
1082
1083	* go-gcc.cc (class Gcc_tree): Add set_tree method.
1084	(set_placeholder_pointer_type): When setting to a pointer to
1085	error, set to error_mark_node.
1086
10872012-02-23  Richard Guenther  <rguenther@suse.de>
1088
1089	* go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
1090	build_distinct_type_copy.
1091
10922012-02-17  Ian Lance Taylor  <iant@google.com>
1093
1094	* Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
1095
10962012-02-17  Ian Lance Taylor  <iant@google.com>
1097
1098	* gospec.c (lang_specific_driver): If linking, and no -o option
1099	was used, add one.
1100
11012012-02-14  Ian Lance Taylor  <iant@google.com>
1102
1103	PR go/48411
1104	* Make-lang.in (gccgo-cross$(exeext)): New target.
1105	(go.all.cross): Depend on gccgo-cross$(exeext) instead of
1106	gccgo$(exeext).
1107	(go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
1108	gccgo-cross$(exeext) does not exist.
1109
11102012-02-07  Ian Lance Taylor  <iant@google.com>
1111
1112	* gccgo.texi (Function Names): Document //extern instead of
1113	__asm__.
1114
11152012-02-01  Jakub Jelinek  <jakub@redhat.com>
1116
1117	PR target/52079
1118	* go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
1119	return build_nonstandard_integer_type result if possible.
1120
11212012-01-21  Ian Lance Taylor  <iant@google.com>
1122
1123	* go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
1124	(Gcc_backend::type_alignment): Likewise.
1125	(Gcc_backend::type_field_alignment): Likewise.
1126	(Gcc_backend::type_field_offset): Likewise.
1127
11282012-01-20  Ian Lance Taylor  <iant@google.com>
1129
1130	* go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
1131	be empty.
1132	(Gcc_backend::set_placeholder_struct_type): Likewise.
1133
11342012-01-17  Ian Lance Taylor  <iant@google.com>
1135
1136	* gospec.c (lang_specific_driver): If we see -S without -o, add -o
1137	BASE.s rather than -o BASE.o.
1138
11392012-01-11  Ian Lance Taylor  <iant@google.com>
1140
1141	* go-lang.c (go_langhook_init): Initialize void_list_node before
1142	calling go_create_gogo.
1143
11442012-01-10  Ian Lance Taylor  <iant@google.com>
1145
1146	* go-gcc.cc (Gcc_backend::type_size): New function.
1147	(Gcc_backend::type_alignment): New function.
1148	(Gcc_backend::type_field_alignment): New function.
1149	(Gcc_backend::type_field_offset): New function.
1150	* go-backend.c (go_type_alignment): Remove.
1151	* go-c.h (go_type_alignment): Don't declare.
1152
11532011-12-27  Ian Lance Taylor  <iant@google.com>
1154
1155	* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
1156	build_distinct_type_copy rather than build_variant_type_copy.
1157	(Gcc_backend::set_placeholder_array_type): Likewise.
1158	(Gcc_backend::named_type): Add special handling for builtin
1159	basic types.
1160
11612011-12-22  Ian Lance Taylor  <iant@google.com>
1162
1163	* go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
1164	for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
1165	(Gcc_backend::set_placeholder_struct_type): Likewise.
1166	(Gcc_backend::set_placeholder_array_type): Likewise.
1167	(Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
1168
11692011-12-13  Ian Lance Taylor  <iant@google.com>
1170
1171	* go-backend.c: #include "simple-object.h" and "intl.h".
1172	(GO_EXPORT_SEGMENT_NAME): Define if not defined.
1173	(GO_EXPORT_SECTION_NAME): Likewise.
1174	(go_write_export_data): Use GO_EXPORT_SECTION_NAME.
1175	(go_read_export_data): New function.
1176	* go-c.h (go_read_export_data): Declare.
1177
11782011-11-29  Sanjoy Das  <thedigitalangel@gmail.com>
1179	    Ian Lance Taylor  <iant@google.com>
1180
1181	* go-location.h: New file.
1182	* go-linemap.cc: New file.
1183	* go-gcc.cc: Change all uses of source_location to Location.
1184	* Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1185	(GO_LINEMAP_H): New variable.
1186	(GO_LEX_H): Use $(GO_LINEMAP_H).
1187	(GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1188	(go/go-linemap.o): New target.
1189
11902011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1191
1192	* Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1193
11942011-08-24  Roberto Lublinerman  <rluble@gmail.com>
1195
1196	* lang.opt: Add fgo-optimize-.
1197	* go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1198	* go-c.h (go_enable_optimize): Declare.
1199	* Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1200	(GO_EXPORT_H): Define.
1201	(GO_IMPORT_H): Add $(GO_EXPORT_H).
1202	(GO_AST_DUMP_H): Define.
1203	(go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1204	(go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1205	(go/types.o): Likewise.
1206	(go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1207	(go/go-optimize.o): New target.
1208
12092011-08-24  Joseph Myers  <joseph@codesourcery.com>
1210
1211	* Make-lang.in (CFLAGS-go/go-lang.o): New.
1212	(go/go-lang.o): Remove explicit compilation rule.
1213
12142011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1215
1216	* Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1217
12182011-08-02  Roberto Lublinerman  <rluble@gmail.com>
1219
1220	* Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1221	(go/ast-dump.o): New target.
1222	(go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1223	(go/statements.o): Likewise.
1224
12252011-07-06  Richard Guenther  <rguenther@suse.de>
1226
1227	* go-lang.c (go_langhook_init):
1228	Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1229
12302011-06-14  Joseph Myers  <joseph@codesourcery.com>
1231
1232	* Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1233	dependencies.
1234	* go-backend.c: Include common/common-target.h.
1235	(go_write_export_data): Use targetm_common.have_named_sections.
1236	* go-lang.c: Include common/common-target.h.
1237	(go_langhook_init_options_struct): Use
1238	targetm_common.supports_split_stack.
1239
12402011-06-13  Ian Lance Taylor  <iant@google.com>
1241
1242	* Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1243
12442011-06-10  Ian Lance Taylor  <iant@google.com>
1245
1246	* go-gcc.cc: Include "toplev.h".
1247	(Gcc_backend::immutable_struct): New function.
1248	(Gcc_backend::immutable_struct_set_init): New function.
1249	(Gcc_backend::immutable_struct_reference): New function.
1250	* Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1251
12522011-06-09  Ian Lance Taylor  <iant@google.com>
1253
1254	* go-gcc.cc (Gcc_backend::zero_expression): New function.
1255
12562011-06-07  Richard Guenther  <rguenther@suse.de>
1257
1258	* go-lang.c (go_langhook_init): Do not set
1259	size_type_node or call set_sizetype.
1260
12612011-05-27  Ian Lance Taylor  <iant@google.com>
1262
1263	* go-backend.c: Include "output.h".
1264	(go_write_export_data): New function.
1265	* go-c.h (go_write_export_data): Declare.
1266	* Make-lang.in (go/go-backend.o): Depend on output.h.
1267	(go/export.o): Depend on $(GO_C_H).  Do not depend on
1268	$(MACHMODE_H), output.h, or $(TARGET_H).
1269
12702011-05-24  Joseph Myers  <joseph@codesourcery.com>
1271
1272	* Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1273	(gccgo$(exeext)): Use libcommon-target.a.
1274
12752011-05-20  Joseph Myers  <joseph@codesourcery.com>
1276
1277	* Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1278
12792011-05-13  Ian Lance Taylor  <iant@google.com>
1280
1281	* go-gcc.cc (Gcc_backend::function_type): When building a struct
1282	for multiple results, check that all fields types have a size.
1283	(Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1284
12852011-05-12  Ian Lance Taylor  <iant@google.com>
1286
1287	* go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1288	parameter.
1289	(Gcc_backend::parameter_variable): Likewise.
1290
12912011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
1292
1293	* go-lang.c (global_bindings_p): Return bool and simplify.
1294
12952011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1296
1297	* go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1298
12992011-05-04  Ian Lance Taylor  <iant@google.com>
1300
1301	* go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1302	(Gcc_backend::fill_in_struct): New function.
1303	(Gcc_backend::array_type): Implement.
1304	(Gcc_backend::fill_in_array): New function.
1305	(Gcc_backend::placeholder_pointer_type): New function.
1306	(Gcc_backend::set_placeholder_pointer_type): New function.
1307	(Gcc_backend::set_placeholder_function_type): New function.
1308	(Gcc_backend::placeholder_struct_type): New function.
1309	(Gcc_backend::set_placeholder_struct_type): New function.
1310	(Gcc_backend::placeholder_array_type): New function.
1311	(Gcc_backend::set_placeholder_array_type): New function.
1312	(Gcc_backend::named_type): New function.
1313	(Gcc_backend::circular_pointer_type): New function.
1314	(Gcc_backend::is_circular_pointer_type): New function.
1315
13162011-04-26  Ian Lance Taylor  <iant@google.com>
1317
1318	* go-gcc.cc (Gcc_backend::struct_type): Implement.
1319
13202011-04-25  Ian Lance Taylor  <iant@google.com>
1321
1322	* go-gcc.cc (Gcc_backend::error_type): Implement.
1323	(Gcc_backend::string_type): Remove.
1324	(Gcc_backend::function_type): Change signature and implement.
1325	(Gcc_backend::struct_type): Change signature.
1326	(Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1327	(Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1328	(Gcc_backend::pointer_type): Check for error.
1329	* Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1330
13312011-04-25  Evan Shaw  <edsrzf@gmail.com>
1332
1333	* go-gcc.c (class Gcc_tree): Make get_tree const.
1334	(Gcc_backend::void_type): Implement.
1335	(Gcc_backend::bool_type): Implement.
1336	(Gcc_backend::integer_type): Implement.
1337	(Gcc_backend::float_type): Implement.
1338	(Gcc_backend::complex_type): New function.
1339	(Gcc_backend::pointer_type): New function.
1340	(Gcc_backend::make_type): New function.
1341	(type_to_tree): New function.
1342
13432011-04-21  Ian Lance Taylor  <iant@google.com>
1344
1345	* go-system.h (go_assert, go_unreachable): Define.
1346
13472011-04-19  Ian Lance Taylor  <iant@google.com>
1348
1349	* go-system.h: Include "intl.h".
1350	* Make-lang.in (GO_SYSTEM_H): Add intl.h.
1351	(go/statements.o): Remove dependencies on intl.h $(TREE_H)
1352	$(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1353
13542011-04-19  Ian Lance Taylor  <iant@google.com>
1355
1356	* go-gcc.cc (Gcc_backend::temporary_variable): New function.
1357
13582011-04-19  Ian Lance Taylor  <iant@google.com>
1359
1360	* go-gcc.cc (class Bblock): Define.
1361	(Gcc_backend::if_statement): Change then_block and else_block to
1362	Bblock*.
1363	(Gcc_backend::block): New function.
1364	(Gcc_backend::block_add_statements): New function.
1365	(Gcc_backend::block_statement): New function.
1366	(tree_to_block, block_to_tree): New functions.
1367
13682011-04-18  Ian Lance Taylor  <iant@google.com>
1369
1370	* go-gcc.cc: Include "go-c.h".
1371	(class Bvariable): Define.
1372	(Gcc_backend::init_statement): New function.
1373	(Gcc_backend::global_variable): New function.
1374	(Gcc_backend::global_variable_set_init): New function.
1375	(Gcc_backend::local_variable): New function.
1376	(Gcc_backend::parameter_variable): New function.
1377	(tree_to_type, var_to_tree): New functions.
1378	* Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1379	* (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1380
13812011-04-15  Ian Lance Taylor  <iant@google.com>
1382
1383	* go-gcc.cc (Gcc_backend::compound_statement): New function.
1384	(Gcc_backend::assignment_statement): Use error_statement.
1385	(Gcc_backend::return_statement): Likewise.
1386	(Gcc_backend::if_statement): Likewise.
1387	(Gcc_backend::switch_statement): Likewise.
1388	(Gcc_backend::statement_list): Likewise.
1389
13902011-04-14  Ian Lance Taylor  <iant@google.com>
1391
1392	* go-gcc.cc (Gcc_backend::error_statement): New function.
1393
13942011-04-13  Ian Lance Taylor  <iant@google.com>
1395
1396	* Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1397
13982011-04-13  Ian Lance Taylor  <iant@google.com>
1399
1400	* Make-lang.in (GO_OBJS): Add go/runtime.o.
1401	(GO_RUNTIME_H): New variable.
1402	(go/runtime.o): New target.
1403	(go/gogo.o): Depend on $(GO_RUNTIME_H).
1404	(go/statements.o): Likewise.
1405
14062011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1407
1408	* go-lang.c (union lang_tree_node): Check for TS_COMMON before
1409	calling TREE_CHAIN.
1410
14112011-04-06  Ian Lance Taylor  <iant@google.com>
1412
1413	* go-gcc.cc (if_statement): Use build3_loc.
1414	(Gcc_backend::switch_statement): New function.
1415	(Gcc_backend::statement_list): New function.
1416
14172011-04-06  Ian Lance Taylor  <iant@google.com>
1418
1419	* go-gcc.cc (Gcc_backend::if_statement): New function.
1420	(tree_to_stat): New function.
1421	(expr_to_tree): Renamed from expression_to_tree.
1422	(stat_to_tree): Renamed from statement_to_tree.
1423
14242011-04-06  Ian Lance Taylor  <iant@google.com>
1425
1426	* go-gcc.cc (Gcc_backend::expression_statement): New function.
1427
14282011-04-04  Ian Lance Taylor  <iant@google.com>
1429
1430	* go-gcc.c (class Blabel): Define.
1431	(Gcc_backend::make_expression): New function.
1432	(get_identifier_from_string): New function.
1433	(Gcc_backend::label): New function.
1434	(Gcc_backend::label_definition_statement): New function.
1435	(Gcc_backend::goto_statement): New function.
1436	(Gcc_backend::label_address): New function.
1437	(expression_to_tree): New function.
1438	* Make-lang.in (go/expressions.o): Depend on
1439	go/gofrontend/backend.h.
1440	(go/gogo.o): Likewise.
1441
14422011-04-04  Ian Lance Taylor  <iant@google.com>
1443
1444	* go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1445	(class Bfunction): Define.
1446	(Gcc_backend::assignment_statement): Rename from assignment.
1447	Check for errors.
1448	(Gcc_backend::return_statement): New function.
1449	(tree_to_function): New function.
1450	* Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1451	$(GIMPLE_H), and $(GO_GOGO_H).
1452
14532011-04-03  Ian Lance Taylor  <iant@google.com>
1454
1455	* go-gcc.cc: New file.
1456	* Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1457	(go/go-gcc.o): New target.
1458	(go/go.o): Depend on go/gofrontend/backend.h.
1459	(go/statements.o): Likewise.
1460
14612011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1462
1463	* gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1464
14652011-02-08  Ian Lance Taylor  <iant@google.com>
1466
1467	* go-lang.c (go_langhook_init_options_struct): Set
1468	frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.
1469
14702011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1471
1472	* gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1473	LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1474
14752011-01-21  Ian Lance Taylor  <iant@google.com>
1476
1477	* go-lang.c (go_langhook_init): Omit float_type_size when calling
1478	go_create_gogo.
1479	* go-c.h: Update declaration of go_create_gogo.
1480
14812011-01-13  Ian Lance Taylor  <iant@google.com>
1482
1483	* go-backend.c: Include "rtl.h" and "target.h".
1484	(go_imported_unsafe): New function.
1485	* go-c.h (go_imported_unsafe): Declare.
1486	* Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
1487	(go/gogo-tree.o): Remove dependency on $(RTL_H).
1488	(go/unsafe.o): Depend on $(GO_C_H).
1489
14902010-12-31  Joern Rennecke  <amylaar@spamcop.net>
1491
1492	PR go/47113
1493	* go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
1494	variable ‘field’ .
1495
14962010-12-21  Ian Lance Taylor  <iant@google.com>
1497
1498	* Make-lang.in (check-go): Remove.
1499	(lang_checks_parallelized): Add check-go.
1500	(check_go_parallelize): Set.
1501
15022010-12-13  Ian Lance Taylor  <iant@google.com>
1503
1504	* gospec.c (lang_specific_driver): Add a -o option if not linking
1505	and there is no -o option already.
1506
15072010-12-07  Ian Lance Taylor  <iant@google.com>
1508
1509	PR tree-optimization/46805
1510	PR tree-optimization/46833
1511	* go-lang.c (go_langhook_type_for_mode): Handle vector modes.
1512
15132010-12-06  Ian Lance Taylor  <iant@google.com>
1514
1515	PR other/46789
1516	PR bootstrap/46812
1517	* go-lang.c (go_char_p): Define type and vectors.
1518	(go_search_dirs): New static variable.
1519	(go_langhook_handle_option): Use version and version/machine
1520	directories for -L.
1521	(go_langhook_post_options): Add non-specific -L paths.
1522	* Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
1523	DEFAULT_TARGET_MACHINE when compiling.
1524	* gccgo.texi (Invoking gccgo): Only document -L for linking.
1525	(Import and Export): Don't mention -L for finding import files.
1526
15272010-12-03  Ian Lance Taylor  <iant@google.com>
1528
1529	PR bootstrap/46776
1530	* go-backend.c: New file.
1531	* go-c.h (go_type_alignment): Declare.
1532	(go_field_alignment, go_trampoline_info): Declare.
1533	* Make-lang.in (GO_OBJS): Add go/go-backend.o.
1534	(go/go-backend.o): New target.
1535	(go/go-lang.o): Make dependencies match source file.
1536	(go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
1537	(go/gogo-tree.o): Don't depend on $(TM_H).
1538
15392010-12-03  Ian Lance Taylor  <iant@google.com>
1540
1541	* config-lang.in (build_by_default): Set to no.
1542
15432010-12-02  Ian Lance Taylor  <iant@google.com>
1544
1545	Go frontend added to gcc repository.
1546
1547Copyright (C) 2010-2018 Free Software Foundation, Inc.
1548
1549Copying and distribution of this file, with or without modification,
1550are permitted in any medium without royalty provided the copyright
1551notice and this notice are preserved.
1552