12021-05-14  Release Manager
2
3	* GCC 8.5.0 released.
4
52020-03-04  Release Manager
6
7	* GCC 8.4.0 released.
8
92019-02-22  Release Manager
10
11	* GCC 8.3.0 released.
12
132018-07-26  Release Manager
14
15	* GCC 8.2.0 released.
16
172018-05-02  Release Manager
18
19	* GCC 8.1.0 released.
20
212018-02-03  Ian Lance Taylor  <iant@golang.org>
22
23	* go-gcc.cc (Gcc_backend::fill_in_struct): Mark struct types as
24	using structural equality.
25
262018-02-02  Ian Lance Taylor  <iant@golang.org>
27
28	* go-gcc.cc (Gcc_backend::type_size): Return 0 for
29	void_type_node.
30	(Gcc_backend::convert_expression): Don't convert if the type of
31	expr_tree is void_type_node.
32	(Gcc_backend::array_index_expression): Don't index if the type of
33	the array expression is void_type_node.
34	(Gcc_backend::init_statement): Don't initialize if the type of the
35	initializer expression is void_type_node.
36	(Gcc_backend::assignment_statement): Don't assign if the type of
37	either the left or right hand side is void_type_node.
38	(Gcc_backend::temporary_variable): Don't initialize if the type of
39	the initializer expression is void_type_node.
40
412018-02-01  Cherry Zhang  <cherryyz@google.com>
42
43	* lang.opt (fgo-optimize): Remove RejectNegative.
44	* go-c.h (go_enable_optimize): Update declaration to take value
45	argument.
46	* go-lang.c (go_langhook_handle_option): Pass value to
47	go_enable_optimize.
48	* gccgo.texi (Invoking gccgo): Update -fgo-optimize-allocs doc.
49
502018-01-30  Ian Lance Taylor  <iant@golang.org>
51
52	* go-gcc.cc (Gcc_backend::convert_tree): New private method.
53	(Gcc_backend::constructor_expression): Call it.
54	(Gcc_backend::assignment_statement): Likewise.
55	(Gcc_backend::temporary_variable): Likewise.
56
572018-01-09  Cherry Zhang  <cherryyz@google.com>
58
59	* go-gcc.cc (local_variable): Add decl_var parameter.
60
612018-01-09  Cherry Zhang  <cherryyz@google.com>
62
63	* lang.opt (fgo-debug-escape-hash): New option.
64	* go-c.h (struct go_create_gogo_args): Add debug_escape_hash
65	field.
66	* go-lang.c (go_langhook_init): Set debug_escape_hash field.
67	* gccgo.texi (Invoking gccgo): Document -fgo-debug-escape-hash.
68
692018-01-05  Ian Lance Taylor  <iant@golang.org>
70
71	* go-gcc.cc (Gcc_backend::Gcc_backend): Correct
72	math_function_type_long to take one argument.
73
742018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
75	    Alan Hayward  <alan.hayward@arm.com>
76	    David Sherwood  <david.sherwood@arm.com>
77
78	* go-lang.c (go_langhook_type_for_mode): Handle MODE_VECTOR_BOOL.
79
802018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
81	    Alan Hayward  <alan.hayward@arm.com>
82	    David Sherwood  <david.sherwood@arm.com>
83
84	* go-lang.c (go_langhook_type_for_mode): Check valid_vector_subparts_p.
85
862018-01-03  Jakub Jelinek  <jakub@redhat.com>
87
88	Update copyright years.
89
90	* gccgo.texi: Bump @copyrights-go year.
91
922017-12-12  Tony Reix  <tony.reix@atos.net>
93	    Ian Lance Taylor  <iant@golang.org>
94
95	* go-lang.c (TARGET_AIX): Define if not defined.
96	(go_langhook_init): Set nil_check_size_threshold to -1 on AIX.
97
982017-12-01  Ian Lance Taylor  <iant@golang.org>
99
100	* go-gcc.cc (Gcc_backend::Gcc_backend): Define
101	__builtin_unreachable.
102	(Gcc_backend::function): Add does_not_return parameter.
103
1042017-12-01  Than McIntosh  <thanm@google.com>
105
106	* go-c.h (go_create_gogo_args): Add nil_check_size_threshold
107	field.
108	* go-lang.c (go_langhook_init): Set nil_check_size_threshold.
109
1102017-11-28  Jakub Jelinek  <jakub@redhat.com>
111
112	* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using
113	build2_loc instead of build3_loc.
114
1152017-11-14  Than McIntosh  <thanm@google.com>
116
117	* go-gcc.cc (var_expression): Remove Varexpr_context parameter.
118
1192017-10-11  Tony Reix  <tony.reix@atos.net>
120
121	* go-system.h (__STDC_FORMAT_MACROS): Define before including any
122	system header files, as is done in ../system.h.
123
1242017-10-05  Ian Lance Taylor  <iant@golang.org>
125
126	* Make-lang.in (GO_OBJS): Add go/names.o.
127
1282017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
129	    Alan Hayward  <alan.hayward@arm.com>
130	    David Sherwood  <david.sherwood@arm.com>
131
132	* go-lang.c (go_langhook_type_for_mode): Use is_complex_float_mode.
133
1342017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
135	    Alan Hayward  <alan.hayward@arm.com>
136	    David Sherwood  <david.sherwood@arm.com>
137
138	* go-lang.c (go_langhook_type_for_mode): Use is_int_mode.
139
1402017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
141	    Alan Hayward  <alan.hayward@arm.com>
142	    David Sherwood  <david.sherwood@arm.com>
143
144	* go-lang.c (go_langhook_type_for_mode): Use is_float_mode.
145
1462017-08-07  Martin Liska  <mliska@suse.cz>
147
148	* go-gcc.cc (Gcc_backend::function): Look up for no_split_stack
149	and not __no_split_stack__.
150
1512017-07-27    Tony Reix  <tony.reix@atos.net>
152
153	* go-backend.c (go_write_export_data): Use EXCLUDE section for
154	AIX.
155
1562017-06-09  Ian Lance Taylor  <iant@golang.org>
157
158	* go-lang.c (go_langhook_post_options): If -fsplit-stack is turned
159	on, disable implicit -forder-blocks-and-partition.
160
1612017-05-12  Than McIntosh  <thanm@google.com>
162
163	* go-gcc.cc (Gcc_backend::call_expression): Add caller parameter.
164
1652017-05-11  Ian Lance Taylor  <iant@google.com>
166
167	PR go/64238
168	* go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
169	DECL_EXTERNAL, clear TREE_STATIC.
170
1712017-05-10  Than McIntosh  <thanm@google.com>
172
173	* go-backend.c: Include "go-c.h".
174	* go-gcc.cc (Gcc_backend::write_export_data): New method.
175
1762017-05-10  Ian Lance Taylor  <iant@google.com>
177
178	* go-gcc.cc (Gcc_backend::Gcc_backend): Declare
179	__builtin_prefetch.
180	* Make-lang.in (GO_OBJS): Add go/wb.o.
181
1822017-03-28  Than McIntosh  <thanm@google.com>
183
184	PR go/80226
185	* go-gcc.cc (Gcc_backend::return_statement): Check for
186	void_type_node when checking result size.
187
1882017-02-20  Ian Lance Taylor  <iant@golang.org>
189
190	PR go/79642
191	* lang.opt (-fgo-relative-import-path): Change space to tab.
192
1932017-02-07  Richard Biener  <rguenther@suse.de>
194
195	PR tree-optimization/79256
196	PR middle-end/79278
197	* go-backend.c (go_field_alignment): Adjust.
198
1992017-01-11  Than McIntosh  <thanm@google.com>
200
201	* go-gcc.cc (conditional_expression): Add Bfunction parameter.
202
2032017-01-01  Jakub Jelinek  <jakub@redhat.com>
204
205	Update copyright years.
206
207	* gccgo.texi: Bump @copyrights-go year.
208
2092016-12-16  Than McIntosh  <thanm@google.com>
210
211	* go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
212	parameter.
213	(Gcc_backend::init_statement): Likewise.
214	(Gcc_backend::assignment_statement): Likewise.
215	(Gcc_backend::if_statement): Likewise.
216
2172016-12-06  Than McIntosh  <thanm@google.com>
218
219	* go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
220	parameter.
221
2222016-11-22  Than McIntosh  <thanm@google.com>
223
224	* go-gcc.cc (char_needs_encoding): Remove.
225	(needs_encoding, fetch_utf8_char, encode_id): Remove.
226	(Gcc_backend::global_variable): Add asm_name parameter.  Don't
227	compute asm_name here.
228	(Gcc_backend::implicit_variable): Likewise.
229	(Gcc_backend::implicit_variable_reference): Likewise.
230	(Gcc_backend::immutable_struct): Likewise.
231	(Gcc_backend::immutable_struct_reference): Likewise.
232	* Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
233
2342016-11-22  Ian Lance Taylor  <iant@google.com>
235
236	* go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
237	__builtin_frame_address.
238
2392016-10-25  David Malcolm  <dmalcolm@redhat.com>
240
241	* go-lang.c (go_langhook_type_for_mode): Remove redundant cast
242	from result of GET_MODE_CLASS.  Minor formatting fixes.
243
2442016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
245
246	* go-backend.c: Include memmodel.h.
247
2482016-10-10  Than McIntosh  <thanm@google.com>
249
250	* go-gcc.h: New file.
251	* go-c.h (struct go_create_gogo_args): Add backend and linemap
252	fields.
253	* go-lang.c: Include "go-gcc.h".
254	(go_langhook_init): Set linemap and backend fields of args.
255	* go-gcc.cc: Include "go-gcc.h".
256	* go-linemap.cc: Include "go-gcc.h".
257
2582016-10-10  Than McIntosh  <thanm@google.com>
259
260	* go-linemap.cc (Gcc_linemap::location_line): New method.
261
2622016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
263
264	* config-lang.in (lang_requires_boot_languages): Delete.
265
2662016-10-06  Chris Manghane  <cmang@google.com>
267
268	* go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
269	returned memory.
270
2712016-09-27  Than McIntosh  <thanm@google.com>
272
273	* go-linemap.cc (Gcc_linemap::to_string): New method.
274
2752016-09-23  Than McIntosh  <thanm@google.com>
276
277	* go-gcc-diagnostics.cc: New file.
278	* go-location.h (Location): Remove operator source_location.  Add
279	operator==.
280	* go-system.h: #include <sstream>.
281	* Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
282	go/go-gcc-diagnostics.o.
283	(CFLAGS-go/go-gcc-diagnostics.o): New variable.
284
2852016-09-23  Chris Manghane  <cmang@google.com>
286
287	PR go/77701
288	* go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
289	to pass arguments in the correct order.
290
2912016-09-22  Ian Lance Taylor  <iant@golang.org>
292
293	* go-gcc.cc (Gcc_backend::Gcc_backend): Declare
294	__builtin_frame_address.
295
2962016-09-11  Ian Lance Taylor  <iant@golang.org>
297
298	* go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
299	ctz, ctzll, bswap32, bswap64.
300
3012016-09-10  Ian Lance Taylor  <iant@golang.org>
302
303	* go-backend.c (go_trampoline_info): Remove.
304	* go-c.h (go_trampoline_info): Don't declare.
305
3062016-09-09  Than McIntosh  <thanm@google.com>
307
308	* go-sha1.cc: New file.
309	* Make-lang.in (GO_OBJS): Add go/go-sha1.o.
310	(CFLAGS-go/go-sha1.o): New variable.
311
3122016-08-29  Ian Lance Taylor  <iant@google.com>
313
314	* lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
315	* go-c.h (struct go_create_gogo_args): Define.
316	(go_create_gogo): Change declaration to take struct pointer.
317	* go-lang.c (go_c_header): New static variable.
318	(go_langhook_init): Update call to go_create_gogo.
319	* gccgo.texi (Invoking gccgo): Document -fgo-c-header and
320	-fgo-compiling-runtime.
321
3222016-08-09  Ian Lance Taylor  <iant@google.com>
323
324	* gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
325	-fgo-debug-escae.
326	(Compiler Directives): New chapter.
327	(Function Names): Describe using //go:linkname.  Suggest using
328	-fgo-pkgpath rather than -fgo-prefix.
329
3302016-08-08  Ian Lance Taylor  <iant@google.com>
331
332	PR go/72814
333	* go-gcc.cc (Gcc_backend::function_type): If the return type is
334	zero bytes, treat the function as returning void.
335	(return_statement): If the return type is zero bytes, don't
336	actually return any values.
337
3382016-08-05  Ian Lance Taylor  <iant@google.com>
339
340	PR go/72812
341	* go-gcc.cc (char_needs_encoding): New static function.
342	(needs_encoding, fetch_utf8_char): New static functions.
343	(encode_id): New static function.
344	(Gcc_backend::global_variable): Set asm name if the name is not
345	simple ASCII.
346	(Gcc_backend::implicit_variable): Likewise.
347	(Gcc_backend::implicit_variable_reference): Likewise.
348	(Gcc_backend::immutable_struct): Likewise.
349	(Gcc_backend::immutable_struct_reference): Likewise.
350	(Gcc_backend::function): Likewise.
351
3522016-08-02  Chris Manghane  <cmang@google.com>
353
354	* lang.opt: Add -fgo-debug-escape option.
355	* go-c.h (go_create_gogo): Add debug_escape_level parameter.
356	* go-lang.c (go_langhook_init): Pass go_debug_escape_level to
357	go_create_gogo.
358
3592016-05-06  Chris Manghane  <cmang@google.com>
360
361	* Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
362	new escape.cc).
363
3642016-04-29  Chris Manghane  <cmang@google.com>
365
366	* Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
367
3682016-04-18  Michael Matz  <matz@suse.de>
369
370	* go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
371
3722016-02-12  Jakub Jelinek  <jakub@redhat.com>
373
374	* gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
375	neighbour -> neighbor.
376	* gccgo.texi: Likewise.
377
3782016-01-27  Ian Lance Taylor  <iant@google.com>
379
380	* go-lang.c (go_langhook_init_options_struct): Default to
381	-fkeep-gc-roots-live.
382
3832016-01-04  Jakub Jelinek  <jakub@redhat.com>
384
385	Update copyright years.
386
387	* gccgo.texi: Bump @copyrights-go year.
388
3892015-12-21  Ian Lance Taylor  <iant@google.com>
390
391	* go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.  Add
392	t_ and orig_type_ fields.  Add new two parameter constructor.  Add
393	get_tree and get_decl methods.
394	(Gcc_backend::var_expression): Pass location to var get_tree.
395	(Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR.  Use
396	two parameter constructor for Bvariable.
397	(Gcc_backend::global_variable_set_init): Don't remove
398	VIEW_CONVERT_EXPR.  Use var get_decl, not get_tree.
399	(Gcc_backend::write_global_definitions): Likewise.
400	(Gcc_backend::init_statement): Call var get_decl, not get_tree.
401	(Gcc_backend::block): Likewise.
402	(Gcc_backend::implicit_variable_set_init): Likewise.
403	(Gcc_backend::immutable_struct_set_init): Likewise.
404	(Gcc_backend::function_set_parameters): Likewise.
405
4062015-12-21  Ian Lance Taylor  <iant@google.com>
407
408	* go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
409	add a VIEW_CONVERT_EXPR to the tree.
410	(Gcc_backend::global_variable_set_init): Remove any
411	VIEW_CONVERT_EXPR.
412	(Gcc_backend::write_global_definitions): Likewise.
413
4142015-11-30  Ian Lance Taylor  <iant@google.com>
415
416	PR go/68477
417	* go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
418	TYPE_STRING_FLAG on a variant type.
419
4202015-11-11  Andrew MacLeod  <amacleod@redhat.com>
421
422	* go-backend.c: Remove unused header files.
423	* go-gcc.cc: Likewise.
424	* go-lang.c: Likewise.
425	* gospec.c: Likewise.
426
4272015-10-29  Andrew MacLeod  <amacleod@redhat.com>
428
429	* go-backend.c: Reorder #include's and remove duplicates.
430	* go-lang.c: Likewise.
431
4322015-10-20  Alan Modra  <amodra@gmail.com>
433
434	PR go/66870
435	* gospec.c (saw_opt_m32): Rename to..
436	(is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
437	Update uses.
438	(lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
439
4402015-10-01  Ian Lance Taylor  <iant@google.com>
441
442	PR go/66870
443	* gospec.c (lang_specific_driver): Only look for OPT_m32 if
444	TARGET_CAN_SPLIT_STACK_64BIT is defined.
445
4462015-10-01  Lynn Boger  <laboger@linux.vnet.ibm.com>
447
448	PR target/66870
449	* gospec.c (lang_specific_driver): Set appropriate split stack
450	options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
451
4522015-09-10  Chris Manghane  <cmang@google.com>
453
454	* go-gcc.cc (Gcc_backend::type_size): Return -1 for
455	unrepresentable size.
456
4572015-08-24  Marek Polacek  <polacek@redhat.com>
458
459	PR tree-optimization/67284
460	* go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
461	Set TREE_THIS_VOLATILE.
462	(Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
463	Pass false to the rest of define_builtin calls.
464
4652015-07-31  Andreas Schwab  <schwab@linux-m68k.org>
466
467	* go-lang.c (go_langhook_init_options_struct): Don't set
468	x_flag_split_stack.
469	(go_langhook_post_options): Set it here instead.
470
4712015-07-12  Aldy Hernandez  <aldyh@redhat.com>
472
473	* gofrontend/backend.h: Fix double word typos.
474        * gofrontend/expressions.cc: Same.
475	* gospec.c: Same.
476
4772015-07-07  Andrew MacLeod  <amacleod@redhat.com>
478
479	* go-backend.c: Adjust includes.
480	* go-gcc.cc: Likewise.
481	* go-lang.c: Likewise.
482
4832015-06-25  Andrew MacLeod  <amacleod@redhat.com>
484
485	* go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
486
4872015-06-17  Andrew MacLeod  <amacleod@redhat.com>
488
489	* go-backend.c: Do not include input.h, line-map.h or is-a.h.
490	* go-gcc.cc: Likewise.
491	* go-lang.c: Likewise.
492	* go-system.h: Likewise.
493
4942015-06-08  Andrew MacLeod  <amacleod@redhat.com>
495
496	* go-backend.c : Adjust include files.
497	* go-gcc.cc : Likewise.
498	* go-lang.c : Likewise.
499
5002015-06-05  Aldy Hernandez  <aldyh@redhat.com>
501
502	* go-gcc.cc (write_global_definitions): Remove call to
503	finalize_compilation_unit.
504	Remove Go specific debug generation.
505	* go-lang.c (go_langhook_parse_file): Call go_write_globals.
506	(go_langhook_write_globals): Remove.
507	Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
508
5092015-06-04  Andrew MacLeod  <amacleod@redhat.com>
510
511	* go-backend.c: Adjust includes for restructured coretypes.h.
512	* go-c.h: Likewise.
513	* go-gcc.cc: Likewise.
514	* go-lang.c: Likewise.
515
5162015-04-30  Chris Manghane  <cmang@google.com>
517
518	* go-gcc.cc (Gcc_backend::stack_allocation_expression): New
519	method.
520
5212015-04-27  Jim Wilson  <jim.wilson@linaro.org>
522
523	* Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
524
5252015-04-17  Chris Manghane  <cmang@google.com>
526
527	* Make-lang.in (GO_OBJS): Add go/escape.o.
528
5292015-02-02  Ian Lance Taylor  <iant@google.com>
530
531	PR go/64836
532	PR go/64838
533	* go-gcc.cc (Gcc_backend::type_size): Change return type to
534	int64_t.
535	(Gcc_backend::type_alignment): Likewise.
536	(Gcc_backend::type_field_alignment): Likewise.
537	(Gcc_backend::type_field_offset): Likewise.
538	(Gcc_backend::implicit_variable): Change alignment parameter type
539	to int64_t.
540
5412015-01-23  Ian Lance Taylor  <iant@google.com>
542
543	PR go/63565
544	* gccgo.texi (Invoking gccgo): Mention that Go programs should not
545	be stripped.
546
547	* gccgo.texi (C Interoperability): Mention that people should use
548	cgo.
549
5502015-01-23  Ian Lance Taylor  <iant@google.com>
551
552	PR go/64595
553	* go-lang.c (go_langhook_init_options_struct): Set default
554	debug_info_level.
555	(go_langhook_post_options): If debug_info_level is still the
556	default, make sure write_symbols is set.
557	* gccgo.texi (Invoking gccgo): Document that -g1 is the default.
558
5592015-01-16  Richard Henderson  <rth@redhat.com>
560
561	* go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
562	(Gcc_backend::static_chain_variable): New method.
563
5642015-01-09  Ian Lance Taylor  <iant@google.com>
565
566	* config-lang.in (lang_dirs): Define.
567
5682015-01-09  Michael Collison  <michael.collison@linaro.org>
569
570	* go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
571	input.h, alias.h, symtab.h, options.h, fold-const.h,
572	wide-int.h, and inchash.h due to flattening of tree.h.
573	* go-lang.c: Ditto.
574	* go-backend.c: Ditto.
575
5762015-01-07  Chris Manghane  <cmang@google.com>
577
578	PR go/61204
579	* go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
580	zero-sized variable.
581
5822015-01-06  Chris Manghane  <cmang@google.com>
583
584	* go-gcc.cc (Gcc_backend::constructor_expression): Don't
585	initialize zero-sized fields, just evaluate the values for side
586	effects.
587
5882015-01-05  Jakub Jelinek  <jakub@redhat.com>
589
590	Update copyright years.
591
592	* gccgo.texi: Bump @copyrights-go year.
593
5942014-12-19  Chris Manghane  <cmang@google.com>
595
596	* go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
597	construct arrays of zero-sized values.
598
5992014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
600
601	* go-lang.c: Remove redundant enum from machine_mode.
602
6032014-10-28  Andrew MacLeod  <amacleod@redhat.com>
604
605	* go-gcc.cc: Adjust include files.
606
6072014-10-27  Andrew MacLeod  <amacleod@redhat.com>
608
609	* go-gcc.cc: Adjust include files.
610	* go-lang.c: Ditto.
611
6122014-10-23  Ian Lance Taylor  <iant@google.com>
613
614	* go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
615	mpc_t parameter instead of two mpfr_t parameters.
616
6172014-09-15  Jakub Jelinek  <jakub@redhat.com>
618
619	* Make-lang.in (check_go_parallelize): Change to just an upper bound
620	number.
621
6222014-09-03  Chris Manghane  <cmang@google.com>
623
624	* go-gcc.cc (Gcc_backend::implicit_variable): Remove init
625	parameter.  Add is_hidden parameter.
626	(Gcc_backend::implicit_variable_set_init): New method.
627	(Gcc_backend::implicit_variable_reference): New method.
628
6292014-08-08  Ian Lance Taylor  <iant@google.com>
630
631	* go-gcc.cc (Gcc_backend::compound_statement): Don't return
632	NULL_TREE.
633
6342014-07-24  Uros Bizjak  <ubizjak@gmail.com>
635
636	* go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
637	symtab_get_node to symtab_node::get.
638
6392014-06-13  Ian Lance Taylor  <iant@google.com>
640
641	PR go/61496
642	* gospec.c (lang_specific_driver): On Solaris, when not using GNU
643	ld, add -t option to avoid warning about common symbol changing
644	size.
645
6462014-06-10  Jan Hubicka  <hubicka@ucw.cz>
647
648	* go-gcc.cc (Gcc_backend::global_variable_set_init): Use
649	symtab_get_node(var_decl)->implicit_section.
650
6512014-06-07  Jan Hubicka  <hubicka@ucw.cz>
652
653	* go-gcc.cc (global_variable_set_init): Use
654	set_decl_section_name.
655
6562014-06-04  Ian Lance Taylor  <iant@google.com>
657
658	* go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
659	alignment parameters.  Permit init parameter to be NULL.
660
6612014-06-02  Andrew MacLeod  <amacleod@redhat.com>
662
663	* go-gcc.cc: Include builtins.h.
664
6652014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
666
667	* go-lang.c (struct GTY): Don't use variable_size gty attribute.
668
6692014-05-06  Chris Manghane  <cmang@google.com>
670
671	* go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
672	(Gcc_backend::boolean_constant_expression): New method.
673	(Gcc_backend::zero_expression): Use this->make_expression rather
674	than tree_to_expr.
675	(Gcc_backend::var_expression): Likewise.
676	(Gcc_backend::integer_constant_expression): Likewise.
677	(Gcc_backend::float_constant_expression): Likewise.
678	(Gcc_backend::complex_constant_expression): Likewise.
679	(Gcc_backend::struct_field_expression): Likewise.
680	(tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
681	(tree_to_function, tree_to_block): Remove functions.
682	(type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
683	(block_to_tree, var_to_tree, function_to_tree): Remove functions.
684
6852014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
686	    Mike Stump  <mikestump@comcast.net>
687	    Richard Sandiford  <rdsandiford@googlemail.com>
688
689	* go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
690
6912014-05-06  Chris Manghane  <cmang@google.com>
692
693	* go-c.h (go_create_gogo): Update declaration to add
694	check_divide_zero and check_divide_overflow parameters.
695	* go-lang.c (go_langhook_init): Pass new arguments to
696	go_create_gogo.
697
6982014-05-05  Chris Manghane  <cmang@google.com>
699
700	* go-gcc.cc (Gcc_backend::implicit_variable): Rename from
701	gc_root_variable.  Add name and is_constant parameters.
702
7032014-05-05  Chris Manghane  <cmang@google.com>
704
705	* go-gcc.cc (Gcc_backend::indirect_expression): Add btype
706	parameter.
707	(Gcc_backend::temporary_variable): Check for erroneous function.
708
7092014-04-30  Chris Manghane  <cmang@google.com>
710
711	* go-backend.c: #include "diagnostics.h".
712	(saw_errors): New function.
713	* go-c.h (saw_errors): Declare.
714	* Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
715
7162014-04-30  Chris Manghane  <cmang@google.com>
717
718	* go-lang.c (go_langhook_type_for_size): Do it here, rather than
719	calling into Go frontend.
720	(go_langhook_type_for_mode): Likewise.
721	* go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
722
7232014-04-30  Chris Manghane  <cmang@google.com>
724
725	* go-gcc.cc: #include "langhooks.h".
726	(Gcc_backend::Gcc_backend): Add constructor.
727	(Gcc_backend::lookup_function): New function.
728	(Gcc_backend::define_builtin): New private function.
729	(Gcc_backend::gcc_backend): Remove.
730	(go_get_backend): Use new to create new Gcc_backend.
731
7322014-04-25  Chris Manghane  <cmang@google.com>
733
734	* go-gcc.cc: Include "cgraph.h" and "gimplify.h".
735	(Gcc_backend::return_statement): Push and pop function.
736	(Gcc_backend::label): Likewise.
737	(Gcc_backend::function_defer_statement): Likewise.
738	(Gcc_backend::switch_statement): Add function parameter.
739	(Gcc_backend::block): Don't permit function to be NULL.
740	(Gcc_backend::temporary_variable): Change go_assert to
741	gcc_assert.
742	(Gcc_backend::gc_root_variable): New function.
743	(Gcc_backend::write_global_definitions): New function.
744
7452014-04-22  Chris Manghane  <cmang@google.com>
746
747	* go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
748	call to create_tmp_var.  Require that function be non-NULL.
749
7502014-04-17  Chris Manghane  <cmang@google.com>
751
752	* go-gcc.cc (Gcc_backend::named_constant_expression): New
753	function.
754
7552014-04-14  Chris Manghane  <cmang@google.com>
756
757	* go-gcc.cc: Include "convert.h".
758	(Gcc_backend::string_constant_expression): New function.
759	(Gcc_backend::real_part_expression): Likewise.
760	(Gcc_backend::imag_part_expression): Likewise.
761	(Gcc_backend::complex_expression): Likewise.
762	(Gcc_backend::constructor_expression): Likewise.
763	(Gcc_backend::array_constructor_expression): Likewise.
764	(Gcc_backend::pointer_offset_expression): Likewise.
765	(Gcc_backend::array_index_expression): Likewise.
766	(Gcc_backend::call_expression): Likewise.
767	(Gcc_backend::exception_handler_statement): Likewise.
768	(Gcc_backend::function_defer_statement): Likewise.
769	(Gcc_backend::function_set_parameters): Likewise.
770	(Gcc_backend::function_set_body): Likewise.
771	(Gcc_backend::convert_expression): Handle various type
772	conversions.
773
7742014-03-03  Ian Lance Taylor  <iant@google.com>
775
776	* go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
777	DECL_WEAK.
778	(GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
779	DECL_WEAK.
780
7812014-01-24  Chris Manghane  <cmang@google.com>
782
783	* go-gcc.cc (Gcc_backend::unary_expression): New function.
784
7852014-01-16  Chris Manghane  <cmang@google.com>
786
787	* go-gcc.cc (Gcc_backend::conditional_expression): Add btype
788	parameter.
789	(operator_to_tree_code): New static function.
790	(Gcc_backend::binary_expression): New function.
791
7922014-01-14  Chris Manghane  <cmang@google.com>
793
794	* go-gcc.cc (Gcc_backend::compound_expression): New function.
795	(Gcc_backend::conditional_expression): New function.
796
7972014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
798
799	Update copyright years
800
8012014-01-02  Tobias Burnus  <burnus@net-b.de>
802
803	* gccgo.texi: Bump @copying's copyright year.
804
8052013-12-16  Chris Manghane  <cmang@google.com>
806
807	* go-gcc.cc (Gcc_backend::struct_field_expression): New function.
808
8092013-12-11  Ian Lance Taylor  <iant@google.com>
810
811	* go-lang.c (go_langhook_post_options): Disable sibling calls by
812	default.
813
8142013-12-10  Ian Lance Taylor  <iant@google.com>
815
816	* Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
817	separately.
818
8192013-12-05  Ian Lance Taylor  <iant@google.com>
820
821	Revert this change; no longer required.
822	2013-11-06  Ian Lance Taylor  <iant@google.com>
823
824	* go-lang.c (go_langhook_post_options): If
825	-fisolate-erroneous-paths was turned on by an optimization option,
826	turn it off.
827
8282013-11-23  Ian Lance Taylor  <iant@google.com>
829
830	* go-gcc.cc (Gcc_backend::function_type): Add result_struct
831	parameter.
832
8332013-11-22  Andrew MacLeod  <amacleod@redhat.com>
834
835	* go-gcc.cc: Add required include files from gimple.h.
836	* go-lang.c: Likewise
837
8382013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
839
840	* gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
841	tree_to_shwi throughout.
842
8432013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
844
845	* gofrontend/expressions.cc: Replace host_integerp (..., 0) with
846	tree_fits_shwi_p throughout.
847
8482013-11-14  Andrew MacLeod  <amacleod@redhat.com>
849
850	* go-lang.c: Include only gimplify.h and gimple.h as needed.
851
8522013-11-14  Diego Novillo  <dnovillo@google.com>
853
854	* go-backend.c: Include stor-layout.h.
855	* go-gcc.cc: Include stringpool.h.
856	Include stor-layout.h.
857	Include varasm.h.
858	* go-lang.c: Include stor-layout.h.
859
8602013-11-12  Andrew MacLeod  <amacleod@redhat.com>
861
862	* go-lang.c: Include gimplify.h.
863
8642013-11-06  Ian Lance Taylor  <iant@google.com>
865
866	* go-lang.c (go_langhook_post_options): If
867	-fisolate-erroneous-paths was turned on by an optimization option,
868	turn it off.
869
8702013-10-14  Chris Manghane  <cmang@google.com>
871
872	* go-gcc.cc (Gcc_backend::address_expression): New function.
873
8742013-10-11  Chris Manghane  <cmang@google.com>
875
876	* go-gcc.cc (Gcc_backend::function_code_expression): New
877	function.
878
8792013-10-10  Chris Manghane  <cmang@google.com>
880
881	* go-gcc.cc (Gcc_backend::error_function): New function.
882	(Gcc_backend::function): New function.
883	(Gcc_backend::make_function): New function.
884	(function_to_tree): New function.
885
8862013-10-04  Chris Manghane  <cmang@google.com>
887
888	* go-gcc.cc (Gcc_backend::convert_expression): New function.
889
8902013-10-02  Chris Manghane  <cmang@google.com>
891
892	* go-gcc.cc: Include "real.h" and "realmpfr.h".
893	(Gcc_backend::integer_constant_expression): New function.
894	(Gcc_backend::float_constant_expression): New function.
895	(Gcc_backend::complex_constant_expression): New function.
896
8972013-09-30  Chris Manghane  <cmang@google.com>
898
899	* go-gcc.cc (Gcc_backend::error_expression): New function.
900	(Gcc_backend::var_expression): New function.
901	(Gcc_backend::indirect_expression): New function.
902
9032013-09-25  Tom Tromey  <tromey@redhat.com>
904
905	* Make-lang.in (gospec.o): Remove.
906	(CFLAGS-go/gospec.o): New variable.
907	(GCCGO_OBJS): Update to use go/gospec.o.
908	(go_OBJS): Define.
909	(GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
910	(GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
911	(GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
912	(go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
913	(go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
914	(go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
915	(go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
916	(go/parse.o, go/runtime.o, go/statements.o, go/types.o)
917	(go/unsafe.o): Remove.
918	(CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
919	(go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
920
9212013-09-25  Tom Tromey  <tromey@redhat.com>
922
923	* Make-lang.in (gospec.o): Don't use subshell.
924
9252013-08-28  Ian Lance Taylor  <iant@google.com>
926
927	* go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
928	the struct is not hidden.
929	(Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
930
9312013-08-06  Ian Lance Taylor  <iant@google.com>
932
933	* go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
934	compute_reloc_for_constant.
935
9362013-08-02  Ian Lance Taylor  <iant@google.com>
937
938	* go-gcc.cc (immutable_struct_set_init): Always call
939	resolve_unique_section.
940
9412013-07-24  Ian Lance Taylor  <iant@google.com>
942
943	* go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
944	fields, recreate those fields with the first one with a non-zero
945	size.
946
9472013-07-23  Ian Lance Taylor  <iant@google.com>
948
949	* go-backend.c: Don't #include "rtl.h".
950	(go_imported_unsafe): Don't call init_varasm_once.
951	* Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
952
9532013-07-23  Ian Lance Taylor  <iant@google.com>
954
955	* go-lang.c: Don't #include "except.h".
956	* Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
957
9582013-06-18  Ian Lance Taylor  <iant@google.com>
959
960	* go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
961	parameter.
962	(Gcc_backend::immutable_struct_set_init): Likewise.
963
9642013-05-16  Jason Merrill  <jason@redhat.com>
965
966	* Make-lang.in (go1$(exeext)): Use link mutex.
967
9682013-01-16  Shenghou Ma  <minux.ma@gmail.com>
969
970	* gospec.c: pass -u pthread_create to linker when static linking.
971
9722012-12-21  Ian Lance Taylor  <iant@google.com>
973
974	PR bootstrap/54659
975	* go-system.h: Don't include <cstdio>.
976
9772012-12-18  Ian Lance Taylor  <iant@google.com>
978
979	PR go/55201
980	* gospec.c: Revert last patch.
981
9822012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
983
984	PR go/55201
985	* gospec.c (LIBATOMIC): Define.
986	(LIBATOMIC_PROFILE): Define.
987	(lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
988
9892012-11-29  Ian Lance Taylor  <iant@google.com>
990
991	* go-gcc.cc: Include "output.h".
992	(global_variable): Add is_unique_section parameter.
993	(global_variable_set_init): Adjust unique section if necessary.
994	* Make-lang.in (go/go-gcc.o): Add dependency on output.h.
995
9962012-11-17  Diego Novillo  <dnovillo@google.com>
997
998	Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
999
1000	* go-lang.c: Use new vec API in vec.h.
1001
10022012-11-16  Ian Lance Taylor  <iant@google.com>
1003
1004	* Make-lang.in (gccgo$(exeext)): Add + at start of command.
1005	(go1$(exeext)): Likewise.
1006
10072012-10-30  Ian Lance Taylor  <iant@google.com>
1008
1009	* lang.opt (-fgo-relative-import-path): New option.
1010	* go-lang.c (go_relative_import_path): New static variable.
1011	(go_langhook_init): Pass go_relative_import_path to
1012	go_create_gogo.
1013	(go_langhook_handle_option): Handle -fgo-relative-import-path.
1014	* go-c.h (go_create_gogo): Update declaration.
1015	* gccgo.texi (Invoking gccgo): Document
1016	-fgo-relative-import-path.
1017
10182012-09-17  Ian Lance Taylor  <iant@google.com>
1019
1020	* config-lang.in (target_libs): Add target-libbacktrace.
1021
10222012-09-16  Ian Lance Taylor  <iant@google.com>
1023
1024	* Make-lang.in (go/gogo.o): Depend on filenames.h.
1025
10262012-08-14   Diego Novillo  <dnovillo@google.com>
1027
1028	Merge from cxx-conversion branch.  Configury.
1029
1030	* go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
1031	* go-gcc.cc: Likewise.
1032	* go-system.h: Likewise.
1033
10342012-07-24  Uros Bizjak  <ubizjak@gmail.com>
1035
1036	* go-lang.c (lang_decl): Add variable_size GTY option.
1037
10382012-05-09  Ian Lance Taylor  <iant@google.com>
1039
1040	* lang.opt: Add -fgo-pkgpath.
1041	* go-lang.c (go_pkgpath): New static variable.
1042	(go_prefix): New static variable.
1043	(go_langhook_init): Pass go_pkgpath and go_prefix to
1044	go_create_gogo.
1045	(go_langhook_handle_option): Handle -fgo-pkgpath.  Change
1046	-fgo-prefix handling to just set go_prefix.
1047	* go-c.h (go_set_prefix): Don't declare.
1048	(go_create_gogo): Add pkgpath and prefix to declaration.
1049	* go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
1050	to pkgpath.  Don't include the package name in the asm name.
1051	* gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
1052	docs for -fgo-prefix.
1053
10542012-04-23  Ian Lance Taylor  <iant@google.com>
1055
1056	* go-lang.c (go_langhook_init): Set MPFR precision to 256.
1057
10582012-04-20  Ian Lance Taylor  <iant@google.com>
1059
1060	* lang.opt: Add -fgo-check-divide-zero and
1061	-fgo-check-divide-overflow.
1062	* gccgo.texi (Invoking gccgo): Document new options.
1063
10642012-04-18  Steven Bosscher  <steven@gcc.gnu.org>
1065
1066	* go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
1067	with NULL_TREE type instead of void_type_node.
1068
10692012-03-09  Ian Lance Taylor  <iant@google.com>
1070
1071	* go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
1072	to the lhs type if necessary.
1073
10742012-03-08  Ian Lance Taylor  <iant@google.com>
1075
1076	* go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
1077	zero-sized variable.
1078	(go_non_zero_struct): New global variable.
1079	(Gcc_backend::non_zero_size_type): New function.
1080	(Gcc_backend::global_variable): Don't build an assignment for a
1081	zero-sized value.
1082	* go-c.h (go_non_zero_struct): Declare.
1083	* config-lang.in (gtfiles): Add go-c.h.
1084
10852012-02-29  Ian Lance Taylor  <iant@google.com>
1086
1087	* go-gcc.cc (class Gcc_tree): Add set_tree method.
1088	(set_placeholder_pointer_type): When setting to a pointer to
1089	error, set to error_mark_node.
1090
10912012-02-23  Richard Guenther  <rguenther@suse.de>
1092
1093	* go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
1094	build_distinct_type_copy.
1095
10962012-02-17  Ian Lance Taylor  <iant@google.com>
1097
1098	* Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
1099
11002012-02-17  Ian Lance Taylor  <iant@google.com>
1101
1102	* gospec.c (lang_specific_driver): If linking, and no -o option
1103	was used, add one.
1104
11052012-02-14  Ian Lance Taylor  <iant@google.com>
1106
1107	PR go/48411
1108	* Make-lang.in (gccgo-cross$(exeext)): New target.
1109	(go.all.cross): Depend on gccgo-cross$(exeext) instead of
1110	gccgo$(exeext).
1111	(go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
1112	gccgo-cross$(exeext) does not exist.
1113
11142012-02-07  Ian Lance Taylor  <iant@google.com>
1115
1116	* gccgo.texi (Function Names): Document //extern instead of
1117	__asm__.
1118
11192012-02-01  Jakub Jelinek  <jakub@redhat.com>
1120
1121	PR target/52079
1122	* go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
1123	return build_nonstandard_integer_type result if possible.
1124
11252012-01-21  Ian Lance Taylor  <iant@google.com>
1126
1127	* go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
1128	(Gcc_backend::type_alignment): Likewise.
1129	(Gcc_backend::type_field_alignment): Likewise.
1130	(Gcc_backend::type_field_offset): Likewise.
1131
11322012-01-20  Ian Lance Taylor  <iant@google.com>
1133
1134	* go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
1135	be empty.
1136	(Gcc_backend::set_placeholder_struct_type): Likewise.
1137
11382012-01-17  Ian Lance Taylor  <iant@google.com>
1139
1140	* gospec.c (lang_specific_driver): If we see -S without -o, add -o
1141	BASE.s rather than -o BASE.o.
1142
11432012-01-11  Ian Lance Taylor  <iant@google.com>
1144
1145	* go-lang.c (go_langhook_init): Initialize void_list_node before
1146	calling go_create_gogo.
1147
11482012-01-10  Ian Lance Taylor  <iant@google.com>
1149
1150	* go-gcc.cc (Gcc_backend::type_size): New function.
1151	(Gcc_backend::type_alignment): New function.
1152	(Gcc_backend::type_field_alignment): New function.
1153	(Gcc_backend::type_field_offset): New function.
1154	* go-backend.c (go_type_alignment): Remove.
1155	* go-c.h (go_type_alignment): Don't declare.
1156
11572011-12-27  Ian Lance Taylor  <iant@google.com>
1158
1159	* go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
1160	build_distinct_type_copy rather than build_variant_type_copy.
1161	(Gcc_backend::set_placeholder_array_type): Likewise.
1162	(Gcc_backend::named_type): Add special handling for builtin
1163	basic types.
1164
11652011-12-22  Ian Lance Taylor  <iant@google.com>
1166
1167	* go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
1168	for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
1169	(Gcc_backend::set_placeholder_struct_type): Likewise.
1170	(Gcc_backend::set_placeholder_array_type): Likewise.
1171	(Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
1172
11732011-12-13  Ian Lance Taylor  <iant@google.com>
1174
1175	* go-backend.c: #include "simple-object.h" and "intl.h".
1176	(GO_EXPORT_SEGMENT_NAME): Define if not defined.
1177	(GO_EXPORT_SECTION_NAME): Likewise.
1178	(go_write_export_data): Use GO_EXPORT_SECTION_NAME.
1179	(go_read_export_data): New function.
1180	* go-c.h (go_read_export_data): Declare.
1181
11822011-11-29  Sanjoy Das  <thedigitalangel@gmail.com>
1183	    Ian Lance Taylor  <iant@google.com>
1184
1185	* go-location.h: New file.
1186	* go-linemap.cc: New file.
1187	* go-gcc.cc: Change all uses of source_location to Location.
1188	* Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1189	(GO_LINEMAP_H): New variable.
1190	(GO_LEX_H): Use $(GO_LINEMAP_H).
1191	(GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1192	(go/go-linemap.o): New target.
1193
11942011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1195
1196	* Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1197
11982011-08-24  Roberto Lublinerman  <rluble@gmail.com>
1199
1200	* lang.opt: Add fgo-optimize-.
1201	* go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1202	* go-c.h (go_enable_optimize): Declare.
1203	* Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1204	(GO_EXPORT_H): Define.
1205	(GO_IMPORT_H): Add $(GO_EXPORT_H).
1206	(GO_AST_DUMP_H): Define.
1207	(go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1208	(go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1209	(go/types.o): Likewise.
1210	(go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1211	(go/go-optimize.o): New target.
1212
12132011-08-24  Joseph Myers  <joseph@codesourcery.com>
1214
1215	* Make-lang.in (CFLAGS-go/go-lang.o): New.
1216	(go/go-lang.o): Remove explicit compilation rule.
1217
12182011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1219
1220	* Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1221
12222011-08-02  Roberto Lublinerman  <rluble@gmail.com>
1223
1224	* Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1225	(go/ast-dump.o): New target.
1226	(go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1227	(go/statements.o): Likewise.
1228
12292011-07-06  Richard Guenther  <rguenther@suse.de>
1230
1231	* go-lang.c (go_langhook_init):
1232	Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1233
12342011-06-14  Joseph Myers  <joseph@codesourcery.com>
1235
1236	* Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1237	dependencies.
1238	* go-backend.c: Include common/common-target.h.
1239	(go_write_export_data): Use targetm_common.have_named_sections.
1240	* go-lang.c: Include common/common-target.h.
1241	(go_langhook_init_options_struct): Use
1242	targetm_common.supports_split_stack.
1243
12442011-06-13  Ian Lance Taylor  <iant@google.com>
1245
1246	* Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1247
12482011-06-10  Ian Lance Taylor  <iant@google.com>
1249
1250	* go-gcc.cc: Include "toplev.h".
1251	(Gcc_backend::immutable_struct): New function.
1252	(Gcc_backend::immutable_struct_set_init): New function.
1253	(Gcc_backend::immutable_struct_reference): New function.
1254	* Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1255
12562011-06-09  Ian Lance Taylor  <iant@google.com>
1257
1258	* go-gcc.cc (Gcc_backend::zero_expression): New function.
1259
12602011-06-07  Richard Guenther  <rguenther@suse.de>
1261
1262	* go-lang.c (go_langhook_init): Do not set
1263	size_type_node or call set_sizetype.
1264
12652011-05-27  Ian Lance Taylor  <iant@google.com>
1266
1267	* go-backend.c: Include "output.h".
1268	(go_write_export_data): New function.
1269	* go-c.h (go_write_export_data): Declare.
1270	* Make-lang.in (go/go-backend.o): Depend on output.h.
1271	(go/export.o): Depend on $(GO_C_H).  Do not depend on
1272	$(MACHMODE_H), output.h, or $(TARGET_H).
1273
12742011-05-24  Joseph Myers  <joseph@codesourcery.com>
1275
1276	* Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1277	(gccgo$(exeext)): Use libcommon-target.a.
1278
12792011-05-20  Joseph Myers  <joseph@codesourcery.com>
1280
1281	* Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1282
12832011-05-13  Ian Lance Taylor  <iant@google.com>
1284
1285	* go-gcc.cc (Gcc_backend::function_type): When building a struct
1286	for multiple results, check that all fields types have a size.
1287	(Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1288
12892011-05-12  Ian Lance Taylor  <iant@google.com>
1290
1291	* go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1292	parameter.
1293	(Gcc_backend::parameter_variable): Likewise.
1294
12952011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
1296
1297	* go-lang.c (global_bindings_p): Return bool and simplify.
1298
12992011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1300
1301	* go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1302
13032011-05-04  Ian Lance Taylor  <iant@google.com>
1304
1305	* go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1306	(Gcc_backend::fill_in_struct): New function.
1307	(Gcc_backend::array_type): Implement.
1308	(Gcc_backend::fill_in_array): New function.
1309	(Gcc_backend::placeholder_pointer_type): New function.
1310	(Gcc_backend::set_placeholder_pointer_type): New function.
1311	(Gcc_backend::set_placeholder_function_type): New function.
1312	(Gcc_backend::placeholder_struct_type): New function.
1313	(Gcc_backend::set_placeholder_struct_type): New function.
1314	(Gcc_backend::placeholder_array_type): New function.
1315	(Gcc_backend::set_placeholder_array_type): New function.
1316	(Gcc_backend::named_type): New function.
1317	(Gcc_backend::circular_pointer_type): New function.
1318	(Gcc_backend::is_circular_pointer_type): New function.
1319
13202011-04-26  Ian Lance Taylor  <iant@google.com>
1321
1322	* go-gcc.cc (Gcc_backend::struct_type): Implement.
1323
13242011-04-25  Ian Lance Taylor  <iant@google.com>
1325
1326	* go-gcc.cc (Gcc_backend::error_type): Implement.
1327	(Gcc_backend::string_type): Remove.
1328	(Gcc_backend::function_type): Change signature and implement.
1329	(Gcc_backend::struct_type): Change signature.
1330	(Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1331	(Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1332	(Gcc_backend::pointer_type): Check for error.
1333	* Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1334
13352011-04-25  Evan Shaw  <edsrzf@gmail.com>
1336
1337	* go-gcc.c (class Gcc_tree): Make get_tree const.
1338	(Gcc_backend::void_type): Implement.
1339	(Gcc_backend::bool_type): Implement.
1340	(Gcc_backend::integer_type): Implement.
1341	(Gcc_backend::float_type): Implement.
1342	(Gcc_backend::complex_type): New function.
1343	(Gcc_backend::pointer_type): New function.
1344	(Gcc_backend::make_type): New function.
1345	(type_to_tree): New function.
1346
13472011-04-21  Ian Lance Taylor  <iant@google.com>
1348
1349	* go-system.h (go_assert, go_unreachable): Define.
1350
13512011-04-19  Ian Lance Taylor  <iant@google.com>
1352
1353	* go-system.h: Include "intl.h".
1354	* Make-lang.in (GO_SYSTEM_H): Add intl.h.
1355	(go/statements.o): Remove dependencies on intl.h $(TREE_H)
1356	$(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1357
13582011-04-19  Ian Lance Taylor  <iant@google.com>
1359
1360	* go-gcc.cc (Gcc_backend::temporary_variable): New function.
1361
13622011-04-19  Ian Lance Taylor  <iant@google.com>
1363
1364	* go-gcc.cc (class Bblock): Define.
1365	(Gcc_backend::if_statement): Change then_block and else_block to
1366	Bblock*.
1367	(Gcc_backend::block): New function.
1368	(Gcc_backend::block_add_statements): New function.
1369	(Gcc_backend::block_statement): New function.
1370	(tree_to_block, block_to_tree): New functions.
1371
13722011-04-18  Ian Lance Taylor  <iant@google.com>
1373
1374	* go-gcc.cc: Include "go-c.h".
1375	(class Bvariable): Define.
1376	(Gcc_backend::init_statement): New function.
1377	(Gcc_backend::global_variable): New function.
1378	(Gcc_backend::global_variable_set_init): New function.
1379	(Gcc_backend::local_variable): New function.
1380	(Gcc_backend::parameter_variable): New function.
1381	(tree_to_type, var_to_tree): New functions.
1382	* Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1383	* (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1384
13852011-04-15  Ian Lance Taylor  <iant@google.com>
1386
1387	* go-gcc.cc (Gcc_backend::compound_statement): New function.
1388	(Gcc_backend::assignment_statement): Use error_statement.
1389	(Gcc_backend::return_statement): Likewise.
1390	(Gcc_backend::if_statement): Likewise.
1391	(Gcc_backend::switch_statement): Likewise.
1392	(Gcc_backend::statement_list): Likewise.
1393
13942011-04-14  Ian Lance Taylor  <iant@google.com>
1395
1396	* go-gcc.cc (Gcc_backend::error_statement): New function.
1397
13982011-04-13  Ian Lance Taylor  <iant@google.com>
1399
1400	* Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1401
14022011-04-13  Ian Lance Taylor  <iant@google.com>
1403
1404	* Make-lang.in (GO_OBJS): Add go/runtime.o.
1405	(GO_RUNTIME_H): New variable.
1406	(go/runtime.o): New target.
1407	(go/gogo.o): Depend on $(GO_RUNTIME_H).
1408	(go/statements.o): Likewise.
1409
14102011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1411
1412	* go-lang.c (union lang_tree_node): Check for TS_COMMON before
1413	calling TREE_CHAIN.
1414
14152011-04-06  Ian Lance Taylor  <iant@google.com>
1416
1417	* go-gcc.cc (if_statement): Use build3_loc.
1418	(Gcc_backend::switch_statement): New function.
1419	(Gcc_backend::statement_list): New function.
1420
14212011-04-06  Ian Lance Taylor  <iant@google.com>
1422
1423	* go-gcc.cc (Gcc_backend::if_statement): New function.
1424	(tree_to_stat): New function.
1425	(expr_to_tree): Renamed from expression_to_tree.
1426	(stat_to_tree): Renamed from statement_to_tree.
1427
14282011-04-06  Ian Lance Taylor  <iant@google.com>
1429
1430	* go-gcc.cc (Gcc_backend::expression_statement): New function.
1431
14322011-04-04  Ian Lance Taylor  <iant@google.com>
1433
1434	* go-gcc.c (class Blabel): Define.
1435	(Gcc_backend::make_expression): New function.
1436	(get_identifier_from_string): New function.
1437	(Gcc_backend::label): New function.
1438	(Gcc_backend::label_definition_statement): New function.
1439	(Gcc_backend::goto_statement): New function.
1440	(Gcc_backend::label_address): New function.
1441	(expression_to_tree): New function.
1442	* Make-lang.in (go/expressions.o): Depend on
1443	go/gofrontend/backend.h.
1444	(go/gogo.o): Likewise.
1445
14462011-04-04  Ian Lance Taylor  <iant@google.com>
1447
1448	* go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1449	(class Bfunction): Define.
1450	(Gcc_backend::assignment_statement): Rename from assignment.
1451	Check for errors.
1452	(Gcc_backend::return_statement): New function.
1453	(tree_to_function): New function.
1454	* Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1455	$(GIMPLE_H), and $(GO_GOGO_H).
1456
14572011-04-03  Ian Lance Taylor  <iant@google.com>
1458
1459	* go-gcc.cc: New file.
1460	* Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1461	(go/go-gcc.o): New target.
1462	(go/go.o): Depend on go/gofrontend/backend.h.
1463	(go/statements.o): Likewise.
1464
14652011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1466
1467	* gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1468
14692011-02-08  Ian Lance Taylor  <iant@google.com>
1470
1471	* go-lang.c (go_langhook_init_options_struct): Set
1472	frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.
1473
14742011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1475
1476	* gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1477	LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1478
14792011-01-21  Ian Lance Taylor  <iant@google.com>
1480
1481	* go-lang.c (go_langhook_init): Omit float_type_size when calling
1482	go_create_gogo.
1483	* go-c.h: Update declaration of go_create_gogo.
1484
14852011-01-13  Ian Lance Taylor  <iant@google.com>
1486
1487	* go-backend.c: Include "rtl.h" and "target.h".
1488	(go_imported_unsafe): New function.
1489	* go-c.h (go_imported_unsafe): Declare.
1490	* Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
1491	(go/gogo-tree.o): Remove dependency on $(RTL_H).
1492	(go/unsafe.o): Depend on $(GO_C_H).
1493
14942010-12-31  Joern Rennecke  <amylaar@spamcop.net>
1495
1496	PR go/47113
1497	* go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
1498	variable ‘field’ .
1499
15002010-12-21  Ian Lance Taylor  <iant@google.com>
1501
1502	* Make-lang.in (check-go): Remove.
1503	(lang_checks_parallelized): Add check-go.
1504	(check_go_parallelize): Set.
1505
15062010-12-13  Ian Lance Taylor  <iant@google.com>
1507
1508	* gospec.c (lang_specific_driver): Add a -o option if not linking
1509	and there is no -o option already.
1510
15112010-12-07  Ian Lance Taylor  <iant@google.com>
1512
1513	PR tree-optimization/46805
1514	PR tree-optimization/46833
1515	* go-lang.c (go_langhook_type_for_mode): Handle vector modes.
1516
15172010-12-06  Ian Lance Taylor  <iant@google.com>
1518
1519	PR other/46789
1520	PR bootstrap/46812
1521	* go-lang.c (go_char_p): Define type and vectors.
1522	(go_search_dirs): New static variable.
1523	(go_langhook_handle_option): Use version and version/machine
1524	directories for -L.
1525	(go_langhook_post_options): Add non-specific -L paths.
1526	* Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
1527	DEFAULT_TARGET_MACHINE when compiling.
1528	* gccgo.texi (Invoking gccgo): Only document -L for linking.
1529	(Import and Export): Don't mention -L for finding import files.
1530
15312010-12-03  Ian Lance Taylor  <iant@google.com>
1532
1533	PR bootstrap/46776
1534	* go-backend.c: New file.
1535	* go-c.h (go_type_alignment): Declare.
1536	(go_field_alignment, go_trampoline_info): Declare.
1537	* Make-lang.in (GO_OBJS): Add go/go-backend.o.
1538	(go/go-backend.o): New target.
1539	(go/go-lang.o): Make dependencies match source file.
1540	(go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
1541	(go/gogo-tree.o): Don't depend on $(TM_H).
1542
15432010-12-03  Ian Lance Taylor  <iant@google.com>
1544
1545	* config-lang.in (build_by_default): Set to no.
1546
15472010-12-02  Ian Lance Taylor  <iant@google.com>
1548
1549	Go frontend added to gcc repository.
1550
1551Copyright (C) 2010-2018 Free Software Foundation, Inc.
1552
1553Copying and distribution of this file, with or without modification,
1554are permitted in any medium without royalty provided the copyright
1555notice and this notice are preserved.
1556