]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/go/ChangeLog
Revert "sphinx: support Sphinx in build system"
[thirdparty/gcc.git] / gcc / go / ChangeLog
1 2022-11-10 Martin Liska <mliska@suse.cz>
2
3 * doc/conf.py: Add newline at last line.
4
5 2022-11-10 Ian Lance Taylor <iant@golang.org>
6
7 PR target/107581
8 * go-gcc.cc (Gcc_backend::Gcc_backend): Define
9 __atomic_fetch_add_{4,8}.
10
11 2022-11-09 Martin Liska <mliska@suse.cz>
12
13 * doc/c-interoperability.rst:
14 Add trailing newline.
15 * doc/c-type-interoperability.rst:
16 Add trailing newline.
17 * doc/compiler-directives.rst:
18 Add trailing newline.
19 * doc/copyright.rst:
20 Add trailing newline.
21 * doc/function-names.rst:
22 Add trailing newline.
23 * doc/general-public-license-3.rst:
24 Add trailing newline.
25 * doc/gnu-free-documentation-license.rst:
26 Add trailing newline.
27 * doc/import-and-export.rst:
28 Add trailing newline.
29 * doc/index.rst:
30 Add trailing newline.
31 * doc/indices-and-tables.rst:
32 Add trailing newline.
33 * doc/introduction.rst:
34 Add trailing newline.
35 * doc/invoking-gccgo.rst:
36 Add trailing newline.
37
38 2022-11-09 Martin Liska <mliska@suse.cz>
39
40 * Make-lang.in:
41 Support installation if sphinx-build is missing.
42 Support installation if sphinx-build is missing.
43
44 2022-11-09 Martin Liska <mliska@suse.cz>
45
46 * Make-lang.in: Support --with-sphinx-build.
47
48 2022-11-09 Martin Liska <mliska@suse.cz>
49
50 * gccgo.texi: Removed.
51
52 2022-11-09 Martin Liska <mliska@suse.cz>
53
54 * Make-lang.in: Support Sphinx based documentation.
55
56 2022-11-09 Martin Liska <mliska@suse.cz>
57
58 * doc/c-interoperability.rst: New file.
59 * doc/c-type-interoperability.rst: New file.
60 * doc/compiler-directives.rst: New file.
61 * doc/conf.py: New file.
62 * doc/copyright.rst: New file.
63 * doc/function-names.rst: New file.
64 * doc/general-public-license-3.rst: New file.
65 * doc/gnu-free-documentation-license.rst: New file.
66 * doc/import-and-export.rst: New file.
67 * doc/index.rst: New file.
68 * doc/indices-and-tables.rst: New file.
69 * doc/introduction.rst: New file.
70 * doc/invoking-gccgo.rst: New file.
71
72 2022-09-15 Richard Biener <rguenther@suse.de>
73
74 * go-lang.cc (go_langhook_init): Do not initialize
75 void_list_node.
76
77 2022-09-02 Martin Liska <mliska@suse.cz>
78
79 * go-lang.cc (go_langhook_pushdecl): Remove -gstabs option support, DBX-related
80 macros and DBX debugging info support.
81 * gospec.cc (lang_specific_driver): Likewise.
82
83 2022-07-16 Ian Lance Taylor <iant@golang.org>
84
85 * go-gcc.cc (Gcc_backend::struct_field_expression): Handle a void
86 expression, as for f().x where f returns a zero-sized type.
87
88 2022-07-15 Ian Lance Taylor <iant@golang.org>
89
90 * go-gcc.cc (Gcc_backend::call_expression): Handle a void
91 argument, as for f(g()) where g returns a zero-sized type.
92
93 2022-06-02 David Malcolm <dmalcolm@redhat.com>
94
95 * go-lang.cc (go_get_sarif_source_language): New.
96 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
97
98 2022-05-31 Jason Merrill <jason@redhat.com>
99
100 * Make-lang.in (go.tags): Look at *.cc.
101
102 2022-02-13 Ian Lance Taylor <iant@golang.org>
103
104 * gospec.cc: Revert 2022-02-09 change:
105 (RTLIB, RT_LIBRARY): Don't define.
106 (lang_specific_driver): Don't add -lrt if linking statically
107 on GNU/Linux.
108
109 2022-02-09 Ian Lance Taylor <iant@golang.org>
110
111 * gospec.cc (RTLIB, RT_LIBRARY): Define.
112 (lang_specific_driver): Add -lrt if linking statically on
113 GNU/Linux.
114
115 2022-02-09 Ian Lance Taylor <iant@golang.org>
116
117 * go-gcc.cc (Gcc_backend::Gcc_backend): Define builtins
118 __atomic_load_1 and __atomic_store_1.
119
120 2022-01-17 Martin Liska <mliska@suse.cz>
121
122 * config-lang.in: Rename .c names to .cc.
123 * go-backend.cc: Likewise.
124 * go-lang.cc: Likewise.
125 * gospec.cc: Likewise.
126 * lang-specs.h: Likewise.
127
128 2022-01-17 Martin Liska <mliska@suse.cz>
129
130 * go-backend.c: Moved to...
131 * go-backend.cc: ...here.
132 * go-lang.c: Moved to...
133 * go-lang.cc: ...here.
134 * gospec.c: Moved to...
135 * gospec.cc: ...here.
136
137 2022-01-03 Jakub Jelinek <jakub@redhat.com>
138
139 * gccgo.texi: Bump @copyrights-go year.
140
141 2021-12-28 Martin Liska <mliska@suse.cz>
142
143 * gccgo.texi: Replace http:// with https.
144
145 2021-11-29 Eric Gallager <egallager@gcc.gnu.org>
146
147 PR other/103021
148 * Make-lang.in: Use ETAGS variable in TAGS target.
149
150 2021-09-27 Martin Liska <mliska@suse.cz>
151
152 * go-lang.c (go_langhook_init_options_struct): Set also
153 x_flag_default_complex_method.
154
155 2021-06-29 Ian Lance Taylor <iant@golang.org>
156
157 * go-gcc.cc (Gcc_backend::static_chain_variable): Set
158 DECL_NAMELESS on the new decl.
159 (Gcc_backend::temporary_variable): Likewise.
160 (Gcc_backend::function): Set DECL_NAMELESS on the result decl.
161
162 2021-05-27 Ian Lance Taylor <iant@golang.org>
163
164 * gccgo.texi (Function Names): Don't HTML quote ampersand.
165
166 2021-05-24 Ian Lance Taylor <iant@golang.org>
167
168 PR go/100537
169 * go-gcc.cc (class Gcc_backend): Update methods that create
170 variables to take a flags parameter.
171
172 2021-01-28 Ian Lance Taylor <iant@golang.org>
173
174 * gospec.c (lang_specific_driver): Add -g if no debugging options
175 were passed.
176
177 2021-01-15 Ian Lance Taylor <iant@golang.org>
178
179 * Make-lang.in (GO_OBJS): Add go/embed.o.
180
181 2021-01-05 Jakub Jelinek <jakub@redhat.com>
182
183 * lang.opt (fgo-embedcfg=): Add full stop at the end of description.
184
185 2021-01-05 Ian Lance Taylor <iant@golang.org>
186
187 * lang.opt (fgo-embedcfg): New option.
188 * go-c.h (struct go_create_gogo_args): Add embedcfg field.
189 * go-lang.c (go_embedcfg): New static variable.
190 (go_langhook_init): Set go_create_gogo_args embedcfg field.
191 (go_langhook_handle_option): Handle OPT_fgo_embedcfg_.
192 * gccgo.texi (Invoking gccgo): Document -fgo-embedcfg.
193
194 2021-01-01 Jakub Jelinek <jakub@redhat.com>
195
196 * gccgo.texi: Bump @copyrights-go year.
197
198 2020-12-22 Ian Lance Taylor <iant@golang.org>
199
200 PR go/98402
201 * go-lang.c (go_langhook_init): Force MPFR exponent range to be
202 large enough to support Go constants.
203
204 2020-11-20 Jakub Jelinek <jakub@redhat.com>
205
206 PR other/97911
207 * Make-lang.in (go.serial): Change from goal to a variable.
208 (.PHONY): Drop go.serial and go.prev.
209 (go1$(exeext)): Depend on $(go.serial) rather than go.serial.
210
211 2020-11-18 Jakub Jelinek <jakub@redhat.com>
212
213 * Make-lang.in (go.serial): New goal.
214 (.PHONY): Add go.serial go.prev.
215 (go1$(exeext)): Depend on go.prev. Call LINK_PROGRESS.
216
217 2020-11-11 Alan Modra <amodra@gmail.com>
218
219 * go-gcc.cc (Gcc_backend::global_variable_set_init): Cast NULL to
220 avoid ambiguous overloaded call.
221
222 2020-11-06 Nathan Sidwell <nathan@acm.org>
223
224 * go-gcc.cc (Gcc_backend::call_expression): Rename
225 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
226
227 2020-11-04 Ian Lance Taylor <iant@golang.org>
228
229 * go-lang.c (go_langhook_post_options): Disable
230 -fipa-icf-functions if it was not explicitly enabled.
231
232 2020-09-14 Jakub Jelinek <jakub@redhat.com>
233
234 * go-gcc.cc (Gcc_backend::function): Adjust
235 cl_optimization_save, cl_optimization_restore and
236 build_optimization_node callers.
237
238 2020-08-10 Clément Chigot <chigot.c@gmail.com>
239
240 * go-c.h (struct go_create_gogo_args): Add need_eqtype field.
241 * go-lang.c (go_langhook_init): Set need_eqtype.
242
243 2020-04-15 Ian Lance Taylor <iant@golang.org>
244
245 PR go/94607
246 * go-gcc.cc (class Gcc_backend): Define builtin_const,
247 builtin_noreturn, builtin_novops.
248 (Gcc_backend::define_builtin): Change const_p and noreturn_p
249 parameters to a single flags parameter. Change all callers.
250 (Gcc_backend::Gcc_backend): Pass novops for prefetch.
251
252 2020-01-01 Jakub Jelinek <jakub@redhat.com>
253
254 Update copyright years.
255
256 * gccgo.texi: Bump @copyrights-go year.
257
258 2019-11-12 Martin Liska <mliska@suse.cz>
259
260 * go-lang.c (go_langhook_post_options):
261 Use SET_OPTION_IF_UNSET.
262
263 2019-09-04 Ian Lance Taylor <iant@golang.org>
264
265 PR tree-optimization/91663
266 * go-lang.c (go_langhook_post_options): Clear
267 flag_partial_inlining.
268
269 2019-08-23 Jakub Jelinek <jakub@redhat.com>
270
271 PR middle-end/91283
272 * go-lang.c (go_langhook_post_options): Set flag_excess_precision
273 instead of flag_excess_precision_cmdline.
274
275 2019-07-02 Cherry Zhang <cherryyz@google.com>
276
277 * go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_memset.
278
279 2019-06-21 Cherry Zhang <cherryyz@google.com>
280
281 * go-gcc.cc (Gcc_backend::Gcc_backend): Define math/bits
282 builtins.
283
284 2019-05-30 Jim Wilson <jimw@sifive.com>
285
286 * go-gcc.cc (Gcc_backend::Gcc_backend): Add BUILT_IN_ATOMIC_FETCH_AND_1
287 and BUILT_IN_ATOMIC_FETCH_OR_1.
288
289 2019-05-16 Cherry Zhang <cherryyz@google.com>
290
291 * go-gcc.cc (Gcc_backend::Gcc_backend): Define atomic builtins.
292
293 2019-05-08 Cherry Zhang <cherryyz@google.com>
294
295 * go-gcc.cc (Gcc_backend::Gcc_backend): Define memmove builtin.
296
297 2019-05-07 Cherry Zhang <cherryyz@google.com>
298
299 * lang.opt (-fgo-debug-optimization): New option.
300 * go-c.h (struct go_create_gogo_args): Add debug_optimization
301 field.
302 * go-lang.c (go_langhook_init): Set debug_optimization field.
303 * gccgo.texi (Invoking gccgo): Document -fgo-debug-optimization.
304
305 2019-03-06 Ian Lance Taylor <iant@golang.org>
306
307 PR go/89227
308 * go-gcc.cc (Gcc_backend::function): Set TREE_PUBLIC for an
309 only-inline function.
310
311 2019-02-15 Cherry Zhang <cherryyz@google.com>
312
313 * go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_dwarf_cfa
314 instead of __builtin_frame_address.
315
316 2019-02-14 Ian Lance Taylor <iant@golang.org>
317
318 * go-backend.c (go_imported_unsafe): Update
319 optimization_default_node.
320
321 2019-02-13 Ian Lance Taylor <iant@golang.org>
322
323 * go-gcc.cc: #include "opts.h".
324 (Gcc_backend::function): Compile thunks with -Os.
325
326 2019-02-05 Nikhil Benesch <nikhil.benesch@gmail.com>
327
328 PR go/89019
329 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Mark
330 placeholder structs as requiring structural equality.
331 (Gcc_backend::set_placeholder_pointer_type): Propagate the
332 canonical type from the desired pointer type to the placeholder
333 pointer type.
334
335 2019-01-09 Ian Lance Taylor <iant@golang.org>
336
337 PR go/86343
338 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Go back to
339 build_distinct_type_copy, but copy the fields so that they have
340 the right DECL_CONTEXT.
341
342 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
343
344 PR other/16615
345
346 * go-backend.c: Mechanically replace "can not" with "cannot".
347 * go-gcc.cc: Likewise.
348
349 2019-01-01 Jakub Jelinek <jakub@redhat.com>
350
351 Update copyright years.
352
353 * gccgo.texi: Bump @copyrights-go year.
354
355 2018-11-27 Ian Lance Taylor <iant@golang.org>
356
357 * go-gcc.cc (Gcc_backend::function): Handle function_only_inline
358 flag.
359
360 2018-11-13 David Malcolm <dmalcolm@redhat.com>
361
362 * go-gcc-diagnostics.cc: Replace "source_location" with "location_t".
363 * go-gcc.cc: Likewise.
364 * go-linemap.cc: Likewise.
365 * go-location.h: Likewise.
366 * gofrontend/README: Likewise.
367
368 2018-10-31 Ian Lance Taylor <iant@golang.org>
369
370 * go-gcc.cc (Gcc_backend::write_global_definitions): Don't call
371 gimplify_function_tree. Instead call allocate_struct_function if
372 necessary.
373
374 2018-10-29 Ian Lance Taylor <iant@golang.org>
375
376 * go-gcc.cc (Gcc_backend::function): Change to use a single flags
377 parameter.
378
379 2018-10-29 Ian Lance Taylor <iant@golang.org>
380
381 * go-linemap.cc (Gcc_linemap::location_file): New method.
382
383 2018-10-17 David Malcolm <dmalcolm@redhat.com>
384
385 * Make-lang.in (selftest-go): New.
386
387 2018-09-20 Allan Sandfeld Jensen <allan.jensen@qt.io>
388
389 * gospec.c (lang_specific_driver): Handle -r like -nostdlib.
390
391 2018-08-27 Martin Liska <mliska@suse.cz>
392
393 * go-gcc.cc (Gcc_backend::call_expression): Use new function
394 fndecl_built_in_p and remove check for FUNCTION_DECL if
395 possible.
396
397 2018-07-20 Martin Sebor <msebor@redhat.com>
398
399 PR middle-end/82063
400 * go-lang.c (go_langhook_handle_option): Change function argument
401 to HOST_WIDE_INT.
402
403 2018-06-28 Ian Lance Taylor <iant@golang.org>
404
405 PR go/86343
406 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Call
407 build_variant_type_copy rather than build_distinct_type_copy.
408
409 2018-06-08 Cherry Zhang <cherryyz@google.com>
410
411 * go-gcc.cc (class Gcc_backend): Remove
412 stack_allocation_expression method.
413
414 2018-02-03 Ian Lance Taylor <iant@golang.org>
415
416 * go-gcc.cc (Gcc_backend::fill_in_struct): Mark struct types as
417 using structural equality.
418
419 2018-02-02 Ian Lance Taylor <iant@golang.org>
420
421 * go-gcc.cc (Gcc_backend::type_size): Return 0 for
422 void_type_node.
423 (Gcc_backend::convert_expression): Don't convert if the type of
424 expr_tree is void_type_node.
425 (Gcc_backend::array_index_expression): Don't index if the type of
426 the array expression is void_type_node.
427 (Gcc_backend::init_statement): Don't initialize if the type of the
428 initializer expression is void_type_node.
429 (Gcc_backend::assignment_statement): Don't assign if the type of
430 either the left or right hand side is void_type_node.
431 (Gcc_backend::temporary_variable): Don't initialize if the type of
432 the initializer expression is void_type_node.
433
434 2018-02-01 Cherry Zhang <cherryyz@google.com>
435
436 * lang.opt (fgo-optimize): Remove RejectNegative.
437 * go-c.h (go_enable_optimize): Update declaration to take value
438 argument.
439 * go-lang.c (go_langhook_handle_option): Pass value to
440 go_enable_optimize.
441 * gccgo.texi (Invoking gccgo): Update -fgo-optimize-allocs doc.
442
443 2018-01-30 Ian Lance Taylor <iant@golang.org>
444
445 * go-gcc.cc (Gcc_backend::convert_tree): New private method.
446 (Gcc_backend::constructor_expression): Call it.
447 (Gcc_backend::assignment_statement): Likewise.
448 (Gcc_backend::temporary_variable): Likewise.
449
450 2018-01-09 Cherry Zhang <cherryyz@google.com>
451
452 * go-gcc.cc (local_variable): Add decl_var parameter.
453
454 2018-01-09 Cherry Zhang <cherryyz@google.com>
455
456 * lang.opt (fgo-debug-escape-hash): New option.
457 * go-c.h (struct go_create_gogo_args): Add debug_escape_hash
458 field.
459 * go-lang.c (go_langhook_init): Set debug_escape_hash field.
460 * gccgo.texi (Invoking gccgo): Document -fgo-debug-escape-hash.
461
462 2018-01-05 Ian Lance Taylor <iant@golang.org>
463
464 * go-gcc.cc (Gcc_backend::Gcc_backend): Correct
465 math_function_type_long to take one argument.
466
467 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
468 Alan Hayward <alan.hayward@arm.com>
469 David Sherwood <david.sherwood@arm.com>
470
471 * go-lang.c (go_langhook_type_for_mode): Handle MODE_VECTOR_BOOL.
472
473 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
474 Alan Hayward <alan.hayward@arm.com>
475 David Sherwood <david.sherwood@arm.com>
476
477 * go-lang.c (go_langhook_type_for_mode): Check valid_vector_subparts_p.
478
479 2018-01-03 Jakub Jelinek <jakub@redhat.com>
480
481 Update copyright years.
482
483 * gccgo.texi: Bump @copyrights-go year.
484
485 2017-12-12 Tony Reix <tony.reix@atos.net>
486 Ian Lance Taylor <iant@golang.org>
487
488 * go-lang.c (TARGET_AIX): Define if not defined.
489 (go_langhook_init): Set nil_check_size_threshold to -1 on AIX.
490
491 2017-12-01 Ian Lance Taylor <iant@golang.org>
492
493 * go-gcc.cc (Gcc_backend::Gcc_backend): Define
494 __builtin_unreachable.
495 (Gcc_backend::function): Add does_not_return parameter.
496
497 2017-12-01 Than McIntosh <thanm@google.com>
498
499 * go-c.h (go_create_gogo_args): Add nil_check_size_threshold
500 field.
501 * go-lang.c (go_langhook_init): Set nil_check_size_threshold.
502
503 2017-11-28 Jakub Jelinek <jakub@redhat.com>
504
505 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using
506 build2_loc instead of build3_loc.
507
508 2017-11-14 Than McIntosh <thanm@google.com>
509
510 * go-gcc.cc (var_expression): Remove Varexpr_context parameter.
511
512 2017-10-11 Tony Reix <tony.reix@atos.net>
513
514 * go-system.h (__STDC_FORMAT_MACROS): Define before including any
515 system header files, as is done in ../system.h.
516
517 2017-10-05 Ian Lance Taylor <iant@golang.org>
518
519 * Make-lang.in (GO_OBJS): Add go/names.o.
520
521 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
522 Alan Hayward <alan.hayward@arm.com>
523 David Sherwood <david.sherwood@arm.com>
524
525 * go-lang.c (go_langhook_type_for_mode): Use is_complex_float_mode.
526
527 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
528 Alan Hayward <alan.hayward@arm.com>
529 David Sherwood <david.sherwood@arm.com>
530
531 * go-lang.c (go_langhook_type_for_mode): Use is_int_mode.
532
533 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
534 Alan Hayward <alan.hayward@arm.com>
535 David Sherwood <david.sherwood@arm.com>
536
537 * go-lang.c (go_langhook_type_for_mode): Use is_float_mode.
538
539 2017-08-07 Martin Liska <mliska@suse.cz>
540
541 * go-gcc.cc (Gcc_backend::function): Look up for no_split_stack
542 and not __no_split_stack__.
543
544 2017-07-27 Tony Reix <tony.reix@atos.net>
545
546 * go-backend.c (go_write_export_data): Use EXCLUDE section for
547 AIX.
548
549 2017-06-09 Ian Lance Taylor <iant@golang.org>
550
551 * go-lang.c (go_langhook_post_options): If -fsplit-stack is turned
552 on, disable implicit -forder-blocks-and-partition.
553
554 2017-05-12 Than McIntosh <thanm@google.com>
555
556 * go-gcc.cc (Gcc_backend::call_expression): Add caller parameter.
557
558 2017-05-11 Ian Lance Taylor <iant@google.com>
559
560 PR go/64238
561 * go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
562 DECL_EXTERNAL, clear TREE_STATIC.
563
564 2017-05-10 Than McIntosh <thanm@google.com>
565
566 * go-backend.c: Include "go-c.h".
567 * go-gcc.cc (Gcc_backend::write_export_data): New method.
568
569 2017-05-10 Ian Lance Taylor <iant@google.com>
570
571 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
572 __builtin_prefetch.
573 * Make-lang.in (GO_OBJS): Add go/wb.o.
574
575 2017-03-28 Than McIntosh <thanm@google.com>
576
577 PR go/80226
578 * go-gcc.cc (Gcc_backend::return_statement): Check for
579 void_type_node when checking result size.
580
581 2017-02-20 Ian Lance Taylor <iant@golang.org>
582
583 PR go/79642
584 * lang.opt (-fgo-relative-import-path): Change space to tab.
585
586 2017-02-07 Richard Biener <rguenther@suse.de>
587
588 PR tree-optimization/79256
589 PR middle-end/79278
590 * go-backend.c (go_field_alignment): Adjust.
591
592 2017-01-11 Than McIntosh <thanm@google.com>
593
594 * go-gcc.cc (conditional_expression): Add Bfunction parameter.
595
596 2017-01-01 Jakub Jelinek <jakub@redhat.com>
597
598 Update copyright years.
599
600 * gccgo.texi: Bump @copyrights-go year.
601
602 2016-12-16 Than McIntosh <thanm@google.com>
603
604 * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
605 parameter.
606 (Gcc_backend::init_statement): Likewise.
607 (Gcc_backend::assignment_statement): Likewise.
608 (Gcc_backend::if_statement): Likewise.
609
610 2016-12-06 Than McIntosh <thanm@google.com>
611
612 * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
613 parameter.
614
615 2016-11-22 Than McIntosh <thanm@google.com>
616
617 * go-gcc.cc (char_needs_encoding): Remove.
618 (needs_encoding, fetch_utf8_char, encode_id): Remove.
619 (Gcc_backend::global_variable): Add asm_name parameter. Don't
620 compute asm_name here.
621 (Gcc_backend::implicit_variable): Likewise.
622 (Gcc_backend::implicit_variable_reference): Likewise.
623 (Gcc_backend::immutable_struct): Likewise.
624 (Gcc_backend::immutable_struct_reference): Likewise.
625 * Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
626
627 2016-11-22 Ian Lance Taylor <iant@google.com>
628
629 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
630 __builtin_frame_address.
631
632 2016-10-25 David Malcolm <dmalcolm@redhat.com>
633
634 * go-lang.c (go_langhook_type_for_mode): Remove redundant cast
635 from result of GET_MODE_CLASS. Minor formatting fixes.
636
637 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
638
639 * go-backend.c: Include memmodel.h.
640
641 2016-10-10 Than McIntosh <thanm@google.com>
642
643 * go-gcc.h: New file.
644 * go-c.h (struct go_create_gogo_args): Add backend and linemap
645 fields.
646 * go-lang.c: Include "go-gcc.h".
647 (go_langhook_init): Set linemap and backend fields of args.
648 * go-gcc.cc: Include "go-gcc.h".
649 * go-linemap.cc: Include "go-gcc.h".
650
651 2016-10-10 Than McIntosh <thanm@google.com>
652
653 * go-linemap.cc (Gcc_linemap::location_line): New method.
654
655 2016-10-10 Eric Botcazou <ebotcazou@adacore.com>
656
657 * config-lang.in (lang_requires_boot_languages): Delete.
658
659 2016-10-06 Chris Manghane <cmang@google.com>
660
661 * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
662 returned memory.
663
664 2016-09-27 Than McIntosh <thanm@google.com>
665
666 * go-linemap.cc (Gcc_linemap::to_string): New method.
667
668 2016-09-23 Than McIntosh <thanm@google.com>
669
670 * go-gcc-diagnostics.cc: New file.
671 * go-location.h (Location): Remove operator source_location. Add
672 operator==.
673 * go-system.h: #include <sstream>.
674 * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
675 go/go-gcc-diagnostics.o.
676 (CFLAGS-go/go-gcc-diagnostics.o): New variable.
677
678 2016-09-23 Chris Manghane <cmang@google.com>
679
680 PR go/77701
681 * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
682 to pass arguments in the correct order.
683
684 2016-09-22 Ian Lance Taylor <iant@golang.org>
685
686 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
687 __builtin_frame_address.
688
689 2016-09-11 Ian Lance Taylor <iant@golang.org>
690
691 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
692 ctz, ctzll, bswap32, bswap64.
693
694 2016-09-10 Ian Lance Taylor <iant@golang.org>
695
696 * go-backend.c (go_trampoline_info): Remove.
697 * go-c.h (go_trampoline_info): Don't declare.
698
699 2016-09-09 Than McIntosh <thanm@google.com>
700
701 * go-sha1.cc: New file.
702 * Make-lang.in (GO_OBJS): Add go/go-sha1.o.
703 (CFLAGS-go/go-sha1.o): New variable.
704
705 2016-08-29 Ian Lance Taylor <iant@google.com>
706
707 * lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
708 * go-c.h (struct go_create_gogo_args): Define.
709 (go_create_gogo): Change declaration to take struct pointer.
710 * go-lang.c (go_c_header): New static variable.
711 (go_langhook_init): Update call to go_create_gogo.
712 * gccgo.texi (Invoking gccgo): Document -fgo-c-header and
713 -fgo-compiling-runtime.
714
715 2016-08-09 Ian Lance Taylor <iant@google.com>
716
717 * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
718 -fgo-debug-escae.
719 (Compiler Directives): New chapter.
720 (Function Names): Describe using //go:linkname. Suggest using
721 -fgo-pkgpath rather than -fgo-prefix.
722
723 2016-08-08 Ian Lance Taylor <iant@google.com>
724
725 PR go/72814
726 * go-gcc.cc (Gcc_backend::function_type): If the return type is
727 zero bytes, treat the function as returning void.
728 (return_statement): If the return type is zero bytes, don't
729 actually return any values.
730
731 2016-08-05 Ian Lance Taylor <iant@google.com>
732
733 PR go/72812
734 * go-gcc.cc (char_needs_encoding): New static function.
735 (needs_encoding, fetch_utf8_char): New static functions.
736 (encode_id): New static function.
737 (Gcc_backend::global_variable): Set asm name if the name is not
738 simple ASCII.
739 (Gcc_backend::implicit_variable): Likewise.
740 (Gcc_backend::implicit_variable_reference): Likewise.
741 (Gcc_backend::immutable_struct): Likewise.
742 (Gcc_backend::immutable_struct_reference): Likewise.
743 (Gcc_backend::function): Likewise.
744
745 2016-08-02 Chris Manghane <cmang@google.com>
746
747 * lang.opt: Add -fgo-debug-escape option.
748 * go-c.h (go_create_gogo): Add debug_escape_level parameter.
749 * go-lang.c (go_langhook_init): Pass go_debug_escape_level to
750 go_create_gogo.
751
752 2016-05-06 Chris Manghane <cmang@google.com>
753
754 * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
755 new escape.cc).
756
757 2016-04-29 Chris Manghane <cmang@google.com>
758
759 * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
760
761 2016-04-18 Michael Matz <matz@suse.de>
762
763 * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
764
765 2016-02-12 Jakub Jelinek <jakub@redhat.com>
766
767 * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
768 neighbour -> neighbor.
769 * gccgo.texi: Likewise.
770
771 2016-01-27 Ian Lance Taylor <iant@google.com>
772
773 * go-lang.c (go_langhook_init_options_struct): Default to
774 -fkeep-gc-roots-live.
775
776 2016-01-04 Jakub Jelinek <jakub@redhat.com>
777
778 Update copyright years.
779
780 * gccgo.texi: Bump @copyrights-go year.
781
782 2015-12-21 Ian Lance Taylor <iant@google.com>
783
784 * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class. Add
785 t_ and orig_type_ fields. Add new two parameter constructor. Add
786 get_tree and get_decl methods.
787 (Gcc_backend::var_expression): Pass location to var get_tree.
788 (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR. Use
789 two parameter constructor for Bvariable.
790 (Gcc_backend::global_variable_set_init): Don't remove
791 VIEW_CONVERT_EXPR. Use var get_decl, not get_tree.
792 (Gcc_backend::write_global_definitions): Likewise.
793 (Gcc_backend::init_statement): Call var get_decl, not get_tree.
794 (Gcc_backend::block): Likewise.
795 (Gcc_backend::implicit_variable_set_init): Likewise.
796 (Gcc_backend::immutable_struct_set_init): Likewise.
797 (Gcc_backend::function_set_parameters): Likewise.
798
799 2015-12-21 Ian Lance Taylor <iant@google.com>
800
801 * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
802 add a VIEW_CONVERT_EXPR to the tree.
803 (Gcc_backend::global_variable_set_init): Remove any
804 VIEW_CONVERT_EXPR.
805 (Gcc_backend::write_global_definitions): Likewise.
806
807 2015-11-30 Ian Lance Taylor <iant@google.com>
808
809 PR go/68477
810 * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
811 TYPE_STRING_FLAG on a variant type.
812
813 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
814
815 * go-backend.c: Remove unused header files.
816 * go-gcc.cc: Likewise.
817 * go-lang.c: Likewise.
818 * gospec.c: Likewise.
819
820 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
821
822 * go-backend.c: Reorder #include's and remove duplicates.
823 * go-lang.c: Likewise.
824
825 2015-10-20 Alan Modra <amodra@gmail.com>
826
827 PR go/66870
828 * gospec.c (saw_opt_m32): Rename to..
829 (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
830 Update uses.
831 (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
832
833 2015-10-01 Ian Lance Taylor <iant@google.com>
834
835 PR go/66870
836 * gospec.c (lang_specific_driver): Only look for OPT_m32 if
837 TARGET_CAN_SPLIT_STACK_64BIT is defined.
838
839 2015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com>
840
841 PR target/66870
842 * gospec.c (lang_specific_driver): Set appropriate split stack
843 options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
844
845 2015-09-10 Chris Manghane <cmang@google.com>
846
847 * go-gcc.cc (Gcc_backend::type_size): Return -1 for
848 unrepresentable size.
849
850 2015-08-24 Marek Polacek <polacek@redhat.com>
851
852 PR tree-optimization/67284
853 * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
854 Set TREE_THIS_VOLATILE.
855 (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
856 Pass false to the rest of define_builtin calls.
857
858 2015-07-31 Andreas Schwab <schwab@linux-m68k.org>
859
860 * go-lang.c (go_langhook_init_options_struct): Don't set
861 x_flag_split_stack.
862 (go_langhook_post_options): Set it here instead.
863
864 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
865
866 * gofrontend/backend.h: Fix double word typos.
867 * gofrontend/expressions.cc: Same.
868 * gospec.c: Same.
869
870 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
871
872 * go-backend.c: Adjust includes.
873 * go-gcc.cc: Likewise.
874 * go-lang.c: Likewise.
875
876 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
877
878 * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
879
880 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
881
882 * go-backend.c: Do not include input.h, line-map.h or is-a.h.
883 * go-gcc.cc: Likewise.
884 * go-lang.c: Likewise.
885 * go-system.h: Likewise.
886
887 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
888
889 * go-backend.c : Adjust include files.
890 * go-gcc.cc : Likewise.
891 * go-lang.c : Likewise.
892
893 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
894
895 * go-gcc.cc (write_global_definitions): Remove call to
896 finalize_compilation_unit.
897 Remove Go specific debug generation.
898 * go-lang.c (go_langhook_parse_file): Call go_write_globals.
899 (go_langhook_write_globals): Remove.
900 Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
901
902 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
903
904 * go-backend.c: Adjust includes for restructured coretypes.h.
905 * go-c.h: Likewise.
906 * go-gcc.cc: Likewise.
907 * go-lang.c: Likewise.
908
909 2015-04-30 Chris Manghane <cmang@google.com>
910
911 * go-gcc.cc (Gcc_backend::stack_allocation_expression): New
912 method.
913
914 2015-04-27 Jim Wilson <jim.wilson@linaro.org>
915
916 * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
917
918 2015-04-17 Chris Manghane <cmang@google.com>
919
920 * Make-lang.in (GO_OBJS): Add go/escape.o.
921
922 2015-02-02 Ian Lance Taylor <iant@google.com>
923
924 PR go/64836
925 PR go/64838
926 * go-gcc.cc (Gcc_backend::type_size): Change return type to
927 int64_t.
928 (Gcc_backend::type_alignment): Likewise.
929 (Gcc_backend::type_field_alignment): Likewise.
930 (Gcc_backend::type_field_offset): Likewise.
931 (Gcc_backend::implicit_variable): Change alignment parameter type
932 to int64_t.
933
934 2015-01-23 Ian Lance Taylor <iant@google.com>
935
936 PR go/63565
937 * gccgo.texi (Invoking gccgo): Mention that Go programs should not
938 be stripped.
939
940 * gccgo.texi (C Interoperability): Mention that people should use
941 cgo.
942
943 2015-01-23 Ian Lance Taylor <iant@google.com>
944
945 PR go/64595
946 * go-lang.c (go_langhook_init_options_struct): Set default
947 debug_info_level.
948 (go_langhook_post_options): If debug_info_level is still the
949 default, make sure write_symbols is set.
950 * gccgo.texi (Invoking gccgo): Document that -g1 is the default.
951
952 2015-01-16 Richard Henderson <rth@redhat.com>
953
954 * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
955 (Gcc_backend::static_chain_variable): New method.
956
957 2015-01-09 Ian Lance Taylor <iant@google.com>
958
959 * config-lang.in (lang_dirs): Define.
960
961 2015-01-09 Michael Collison <michael.collison@linaro.org>
962
963 * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
964 input.h, alias.h, symtab.h, options.h, fold-const.h,
965 wide-int.h, and inchash.h due to flattening of tree.h.
966 * go-lang.c: Ditto.
967 * go-backend.c: Ditto.
968
969 2015-01-07 Chris Manghane <cmang@google.com>
970
971 PR go/61204
972 * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
973 zero-sized variable.
974
975 2015-01-06 Chris Manghane <cmang@google.com>
976
977 * go-gcc.cc (Gcc_backend::constructor_expression): Don't
978 initialize zero-sized fields, just evaluate the values for side
979 effects.
980
981 2015-01-05 Jakub Jelinek <jakub@redhat.com>
982
983 Update copyright years.
984
985 * gccgo.texi: Bump @copyrights-go year.
986
987 2014-12-19 Chris Manghane <cmang@google.com>
988
989 * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
990 construct arrays of zero-sized values.
991
992 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
993
994 * go-lang.c: Remove redundant enum from machine_mode.
995
996 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
997
998 * go-gcc.cc: Adjust include files.
999
1000 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
1001
1002 * go-gcc.cc: Adjust include files.
1003 * go-lang.c: Ditto.
1004
1005 2014-10-23 Ian Lance Taylor <iant@google.com>
1006
1007 * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
1008 mpc_t parameter instead of two mpfr_t parameters.
1009
1010 2014-09-15 Jakub Jelinek <jakub@redhat.com>
1011
1012 * Make-lang.in (check_go_parallelize): Change to just an upper bound
1013 number.
1014
1015 2014-09-03 Chris Manghane <cmang@google.com>
1016
1017 * go-gcc.cc (Gcc_backend::implicit_variable): Remove init
1018 parameter. Add is_hidden parameter.
1019 (Gcc_backend::implicit_variable_set_init): New method.
1020 (Gcc_backend::implicit_variable_reference): New method.
1021
1022 2014-08-08 Ian Lance Taylor <iant@google.com>
1023
1024 * go-gcc.cc (Gcc_backend::compound_statement): Don't return
1025 NULL_TREE.
1026
1027 2014-07-24 Uros Bizjak <ubizjak@gmail.com>
1028
1029 * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
1030 symtab_get_node to symtab_node::get.
1031
1032 2014-06-13 Ian Lance Taylor <iant@google.com>
1033
1034 PR go/61496
1035 * gospec.c (lang_specific_driver): On Solaris, when not using GNU
1036 ld, add -t option to avoid warning about common symbol changing
1037 size.
1038
1039 2014-06-10 Jan Hubicka <hubicka@ucw.cz>
1040
1041 * go-gcc.cc (Gcc_backend::global_variable_set_init): Use
1042 symtab_get_node(var_decl)->implicit_section.
1043
1044 2014-06-07 Jan Hubicka <hubicka@ucw.cz>
1045
1046 * go-gcc.cc (global_variable_set_init): Use
1047 set_decl_section_name.
1048
1049 2014-06-04 Ian Lance Taylor <iant@google.com>
1050
1051 * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
1052 alignment parameters. Permit init parameter to be NULL.
1053
1054 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
1055
1056 * go-gcc.cc: Include builtins.h.
1057
1058 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1059
1060 * go-lang.c (struct GTY): Don't use variable_size gty attribute.
1061
1062 2014-05-06 Chris Manghane <cmang@google.com>
1063
1064 * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
1065 (Gcc_backend::boolean_constant_expression): New method.
1066 (Gcc_backend::zero_expression): Use this->make_expression rather
1067 than tree_to_expr.
1068 (Gcc_backend::var_expression): Likewise.
1069 (Gcc_backend::integer_constant_expression): Likewise.
1070 (Gcc_backend::float_constant_expression): Likewise.
1071 (Gcc_backend::complex_constant_expression): Likewise.
1072 (Gcc_backend::struct_field_expression): Likewise.
1073 (tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
1074 (tree_to_function, tree_to_block): Remove functions.
1075 (type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
1076 (block_to_tree, var_to_tree, function_to_tree): Remove functions.
1077
1078 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1079 Mike Stump <mikestump@comcast.net>
1080 Richard Sandiford <rdsandiford@googlemail.com>
1081
1082 * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
1083
1084 2014-05-06 Chris Manghane <cmang@google.com>
1085
1086 * go-c.h (go_create_gogo): Update declaration to add
1087 check_divide_zero and check_divide_overflow parameters.
1088 * go-lang.c (go_langhook_init): Pass new arguments to
1089 go_create_gogo.
1090
1091 2014-05-05 Chris Manghane <cmang@google.com>
1092
1093 * go-gcc.cc (Gcc_backend::implicit_variable): Rename from
1094 gc_root_variable. Add name and is_constant parameters.
1095
1096 2014-05-05 Chris Manghane <cmang@google.com>
1097
1098 * go-gcc.cc (Gcc_backend::indirect_expression): Add btype
1099 parameter.
1100 (Gcc_backend::temporary_variable): Check for erroneous function.
1101
1102 2014-04-30 Chris Manghane <cmang@google.com>
1103
1104 * go-backend.c: #include "diagnostics.h".
1105 (saw_errors): New function.
1106 * go-c.h (saw_errors): Declare.
1107 * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
1108
1109 2014-04-30 Chris Manghane <cmang@google.com>
1110
1111 * go-lang.c (go_langhook_type_for_size): Do it here, rather than
1112 calling into Go frontend.
1113 (go_langhook_type_for_mode): Likewise.
1114 * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
1115
1116 2014-04-30 Chris Manghane <cmang@google.com>
1117
1118 * go-gcc.cc: #include "langhooks.h".
1119 (Gcc_backend::Gcc_backend): Add constructor.
1120 (Gcc_backend::lookup_function): New function.
1121 (Gcc_backend::define_builtin): New private function.
1122 (Gcc_backend::gcc_backend): Remove.
1123 (go_get_backend): Use new to create new Gcc_backend.
1124
1125 2014-04-25 Chris Manghane <cmang@google.com>
1126
1127 * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
1128 (Gcc_backend::return_statement): Push and pop function.
1129 (Gcc_backend::label): Likewise.
1130 (Gcc_backend::function_defer_statement): Likewise.
1131 (Gcc_backend::switch_statement): Add function parameter.
1132 (Gcc_backend::block): Don't permit function to be NULL.
1133 (Gcc_backend::temporary_variable): Change go_assert to
1134 gcc_assert.
1135 (Gcc_backend::gc_root_variable): New function.
1136 (Gcc_backend::write_global_definitions): New function.
1137
1138 2014-04-22 Chris Manghane <cmang@google.com>
1139
1140 * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
1141 call to create_tmp_var. Require that function be non-NULL.
1142
1143 2014-04-17 Chris Manghane <cmang@google.com>
1144
1145 * go-gcc.cc (Gcc_backend::named_constant_expression): New
1146 function.
1147
1148 2014-04-14 Chris Manghane <cmang@google.com>
1149
1150 * go-gcc.cc: Include "convert.h".
1151 (Gcc_backend::string_constant_expression): New function.
1152 (Gcc_backend::real_part_expression): Likewise.
1153 (Gcc_backend::imag_part_expression): Likewise.
1154 (Gcc_backend::complex_expression): Likewise.
1155 (Gcc_backend::constructor_expression): Likewise.
1156 (Gcc_backend::array_constructor_expression): Likewise.
1157 (Gcc_backend::pointer_offset_expression): Likewise.
1158 (Gcc_backend::array_index_expression): Likewise.
1159 (Gcc_backend::call_expression): Likewise.
1160 (Gcc_backend::exception_handler_statement): Likewise.
1161 (Gcc_backend::function_defer_statement): Likewise.
1162 (Gcc_backend::function_set_parameters): Likewise.
1163 (Gcc_backend::function_set_body): Likewise.
1164 (Gcc_backend::convert_expression): Handle various type
1165 conversions.
1166
1167 2014-03-03 Ian Lance Taylor <iant@google.com>
1168
1169 * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
1170 DECL_WEAK.
1171 (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
1172 DECL_WEAK.
1173
1174 2014-01-24 Chris Manghane <cmang@google.com>
1175
1176 * go-gcc.cc (Gcc_backend::unary_expression): New function.
1177
1178 2014-01-16 Chris Manghane <cmang@google.com>
1179
1180 * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
1181 parameter.
1182 (operator_to_tree_code): New static function.
1183 (Gcc_backend::binary_expression): New function.
1184
1185 2014-01-14 Chris Manghane <cmang@google.com>
1186
1187 * go-gcc.cc (Gcc_backend::compound_expression): New function.
1188 (Gcc_backend::conditional_expression): New function.
1189
1190 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1191
1192 Update copyright years
1193
1194 2014-01-02 Tobias Burnus <burnus@net-b.de>
1195
1196 * gccgo.texi: Bump @copying's copyright year.
1197
1198 2013-12-16 Chris Manghane <cmang@google.com>
1199
1200 * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
1201
1202 2013-12-11 Ian Lance Taylor <iant@google.com>
1203
1204 * go-lang.c (go_langhook_post_options): Disable sibling calls by
1205 default.
1206
1207 2013-12-10 Ian Lance Taylor <iant@google.com>
1208
1209 * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
1210 separately.
1211
1212 2013-12-05 Ian Lance Taylor <iant@google.com>
1213
1214 Revert this change; no longer required.
1215 2013-11-06 Ian Lance Taylor <iant@google.com>
1216
1217 * go-lang.c (go_langhook_post_options): If
1218 -fisolate-erroneous-paths was turned on by an optimization option,
1219 turn it off.
1220
1221 2013-11-23 Ian Lance Taylor <iant@google.com>
1222
1223 * go-gcc.cc (Gcc_backend::function_type): Add result_struct
1224 parameter.
1225
1226 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
1227
1228 * go-gcc.cc: Add required include files from gimple.h.
1229 * go-lang.c: Likewise.
1230
1231 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1232
1233 * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
1234 tree_to_shwi throughout.
1235
1236 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1237
1238 * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
1239 tree_fits_shwi_p throughout.
1240
1241 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
1242
1243 * go-lang.c: Include only gimplify.h and gimple.h as needed.
1244
1245 2013-11-14 Diego Novillo <dnovillo@google.com>
1246
1247 * go-backend.c: Include stor-layout.h.
1248 * go-gcc.cc: Include stringpool.h.
1249 Include stor-layout.h.
1250 Include varasm.h.
1251 * go-lang.c: Include stor-layout.h.
1252
1253 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
1254
1255 * go-lang.c: Include gimplify.h.
1256
1257 2013-11-06 Ian Lance Taylor <iant@google.com>
1258
1259 * go-lang.c (go_langhook_post_options): If
1260 -fisolate-erroneous-paths was turned on by an optimization option,
1261 turn it off.
1262
1263 2013-10-14 Chris Manghane <cmang@google.com>
1264
1265 * go-gcc.cc (Gcc_backend::address_expression): New function.
1266
1267 2013-10-11 Chris Manghane <cmang@google.com>
1268
1269 * go-gcc.cc (Gcc_backend::function_code_expression): New
1270 function.
1271
1272 2013-10-10 Chris Manghane <cmang@google.com>
1273
1274 * go-gcc.cc (Gcc_backend::error_function): New function.
1275 (Gcc_backend::function): New function.
1276 (Gcc_backend::make_function): New function.
1277 (function_to_tree): New function.
1278
1279 2013-10-04 Chris Manghane <cmang@google.com>
1280
1281 * go-gcc.cc (Gcc_backend::convert_expression): New function.
1282
1283 2013-10-02 Chris Manghane <cmang@google.com>
1284
1285 * go-gcc.cc: Include "real.h" and "realmpfr.h".
1286 (Gcc_backend::integer_constant_expression): New function.
1287 (Gcc_backend::float_constant_expression): New function.
1288 (Gcc_backend::complex_constant_expression): New function.
1289
1290 2013-09-30 Chris Manghane <cmang@google.com>
1291
1292 * go-gcc.cc (Gcc_backend::error_expression): New function.
1293 (Gcc_backend::var_expression): New function.
1294 (Gcc_backend::indirect_expression): New function.
1295
1296 2013-09-25 Tom Tromey <tromey@redhat.com>
1297
1298 * Make-lang.in (gospec.o): Remove.
1299 (CFLAGS-go/gospec.o): New variable.
1300 (GCCGO_OBJS): Update to use go/gospec.o.
1301 (go_OBJS): Define.
1302 (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
1303 (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
1304 (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
1305 (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
1306 (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
1307 (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
1308 (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
1309 (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
1310 (go/unsafe.o): Remove.
1311 (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
1312 (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
1313
1314 2013-09-25 Tom Tromey <tromey@redhat.com>
1315
1316 * Make-lang.in (gospec.o): Don't use subshell.
1317
1318 2013-08-28 Ian Lance Taylor <iant@google.com>
1319
1320 * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
1321 the struct is not hidden.
1322 (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
1323
1324 2013-08-06 Ian Lance Taylor <iant@google.com>
1325
1326 * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
1327 compute_reloc_for_constant.
1328
1329 2013-08-02 Ian Lance Taylor <iant@google.com>
1330
1331 * go-gcc.cc (immutable_struct_set_init): Always call
1332 resolve_unique_section.
1333
1334 2013-07-24 Ian Lance Taylor <iant@google.com>
1335
1336 * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
1337 fields, recreate those fields with the first one with a non-zero
1338 size.
1339
1340 2013-07-23 Ian Lance Taylor <iant@google.com>
1341
1342 * go-backend.c: Don't #include "rtl.h".
1343 (go_imported_unsafe): Don't call init_varasm_once.
1344 * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
1345
1346 2013-07-23 Ian Lance Taylor <iant@google.com>
1347
1348 * go-lang.c: Don't #include "except.h".
1349 * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
1350
1351 2013-06-18 Ian Lance Taylor <iant@google.com>
1352
1353 * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
1354 parameter.
1355 (Gcc_backend::immutable_struct_set_init): Likewise.
1356
1357 2013-05-16 Jason Merrill <jason@redhat.com>
1358
1359 * Make-lang.in (go1$(exeext)): Use link mutex.
1360
1361 2013-01-16 Shenghou Ma <minux.ma@gmail.com>
1362
1363 * gospec.c: pass -u pthread_create to linker when static linking.
1364
1365 2012-12-21 Ian Lance Taylor <iant@google.com>
1366
1367 PR bootstrap/54659
1368 * go-system.h: Don't include <cstdio>.
1369
1370 2012-12-18 Ian Lance Taylor <iant@google.com>
1371
1372 PR go/55201
1373 * gospec.c: Revert last patch.
1374
1375 2012-12-18 Andreas Schwab <schwab@linux-m68k.org>
1376
1377 PR go/55201
1378 * gospec.c (LIBATOMIC): Define.
1379 (LIBATOMIC_PROFILE): Define.
1380 (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
1381
1382 2012-11-29 Ian Lance Taylor <iant@google.com>
1383
1384 * go-gcc.cc: Include "output.h".
1385 (global_variable): Add is_unique_section parameter.
1386 (global_variable_set_init): Adjust unique section if necessary.
1387 * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
1388
1389 2012-11-17 Diego Novillo <dnovillo@google.com>
1390
1391 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1392
1393 * go-lang.c: Use new vec API in vec.h.
1394
1395 2012-11-16 Ian Lance Taylor <iant@google.com>
1396
1397 * Make-lang.in (gccgo$(exeext)): Add + at start of command.
1398 (go1$(exeext)): Likewise.
1399
1400 2012-10-30 Ian Lance Taylor <iant@google.com>
1401
1402 * lang.opt (-fgo-relative-import-path): New option.
1403 * go-lang.c (go_relative_import_path): New static variable.
1404 (go_langhook_init): Pass go_relative_import_path to
1405 go_create_gogo.
1406 (go_langhook_handle_option): Handle -fgo-relative-import-path.
1407 * go-c.h (go_create_gogo): Update declaration.
1408 * gccgo.texi (Invoking gccgo): Document
1409 -fgo-relative-import-path.
1410
1411 2012-09-17 Ian Lance Taylor <iant@google.com>
1412
1413 * config-lang.in (target_libs): Add target-libbacktrace.
1414
1415 2012-09-16 Ian Lance Taylor <iant@google.com>
1416
1417 * Make-lang.in (go/gogo.o): Depend on filenames.h.
1418
1419 2012-08-14 Diego Novillo <dnovillo@google.com>
1420
1421 Merge from cxx-conversion branch. Configury.
1422
1423 * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
1424 * go-gcc.cc: Likewise.
1425 * go-system.h: Likewise.
1426
1427 2012-07-24 Uros Bizjak <ubizjak@gmail.com>
1428
1429 * go-lang.c (lang_decl): Add variable_size GTY option.
1430
1431 2012-05-09 Ian Lance Taylor <iant@google.com>
1432
1433 * lang.opt: Add -fgo-pkgpath.
1434 * go-lang.c (go_pkgpath): New static variable.
1435 (go_prefix): New static variable.
1436 (go_langhook_init): Pass go_pkgpath and go_prefix to
1437 go_create_gogo.
1438 (go_langhook_handle_option): Handle -fgo-pkgpath. Change
1439 -fgo-prefix handling to just set go_prefix.
1440 * go-c.h (go_set_prefix): Don't declare.
1441 (go_create_gogo): Add pkgpath and prefix to declaration.
1442 * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
1443 to pkgpath. Don't include the package name in the asm name.
1444 * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the
1445 docs for -fgo-prefix.
1446
1447 2012-04-23 Ian Lance Taylor <iant@google.com>
1448
1449 * go-lang.c (go_langhook_init): Set MPFR precision to 256.
1450
1451 2012-04-20 Ian Lance Taylor <iant@google.com>
1452
1453 * lang.opt: Add -fgo-check-divide-zero and
1454 -fgo-check-divide-overflow.
1455 * gccgo.texi (Invoking gccgo): Document new options.
1456
1457 2012-04-18 Steven Bosscher <steven@gcc.gnu.org>
1458
1459 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
1460 with NULL_TREE type instead of void_type_node.
1461
1462 2012-03-09 Ian Lance Taylor <iant@google.com>
1463
1464 * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
1465 to the lhs type if necessary.
1466
1467 2012-03-08 Ian Lance Taylor <iant@google.com>
1468
1469 * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
1470 zero-sized variable.
1471 (go_non_zero_struct): New global variable.
1472 (Gcc_backend::non_zero_size_type): New function.
1473 (Gcc_backend::global_variable): Don't build an assignment for a
1474 zero-sized value.
1475 * go-c.h (go_non_zero_struct): Declare.
1476 * config-lang.in (gtfiles): Add go-c.h.
1477
1478 2012-02-29 Ian Lance Taylor <iant@google.com>
1479
1480 * go-gcc.cc (class Gcc_tree): Add set_tree method.
1481 (set_placeholder_pointer_type): When setting to a pointer to
1482 error, set to error_mark_node.
1483
1484 2012-02-23 Richard Guenther <rguenther@suse.de>
1485
1486 * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
1487 build_distinct_type_copy.
1488
1489 2012-02-17 Ian Lance Taylor <iant@google.com>
1490
1491 * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
1492
1493 2012-02-17 Ian Lance Taylor <iant@google.com>
1494
1495 * gospec.c (lang_specific_driver): If linking, and no -o option
1496 was used, add one.
1497
1498 2012-02-14 Ian Lance Taylor <iant@google.com>
1499
1500 PR go/48411
1501 * Make-lang.in (gccgo-cross$(exeext)): New target.
1502 (go.all.cross): Depend on gccgo-cross$(exeext) instead of
1503 gccgo$(exeext).
1504 (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
1505 gccgo-cross$(exeext) does not exist.
1506
1507 2012-02-07 Ian Lance Taylor <iant@google.com>
1508
1509 * gccgo.texi (Function Names): Document //extern instead of
1510 __asm__.
1511
1512 2012-02-01 Jakub Jelinek <jakub@redhat.com>
1513
1514 PR target/52079
1515 * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
1516 return build_nonstandard_integer_type result if possible.
1517
1518 2012-01-21 Ian Lance Taylor <iant@google.com>
1519
1520 * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
1521 (Gcc_backend::type_alignment): Likewise.
1522 (Gcc_backend::type_field_alignment): Likewise.
1523 (Gcc_backend::type_field_offset): Likewise.
1524
1525 2012-01-20 Ian Lance Taylor <iant@google.com>
1526
1527 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
1528 be empty.
1529 (Gcc_backend::set_placeholder_struct_type): Likewise.
1530
1531 2012-01-17 Ian Lance Taylor <iant@google.com>
1532
1533 * gospec.c (lang_specific_driver): If we see -S without -o, add -o
1534 BASE.s rather than -o BASE.o.
1535
1536 2012-01-11 Ian Lance Taylor <iant@google.com>
1537
1538 * go-lang.c (go_langhook_init): Initialize void_list_node before
1539 calling go_create_gogo.
1540
1541 2012-01-10 Ian Lance Taylor <iant@google.com>
1542
1543 * go-gcc.cc (Gcc_backend::type_size): New function.
1544 (Gcc_backend::type_alignment): New function.
1545 (Gcc_backend::type_field_alignment): New function.
1546 (Gcc_backend::type_field_offset): New function.
1547 * go-backend.c (go_type_alignment): Remove.
1548 * go-c.h (go_type_alignment): Don't declare.
1549
1550 2011-12-27 Ian Lance Taylor <iant@google.com>
1551
1552 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
1553 build_distinct_type_copy rather than build_variant_type_copy.
1554 (Gcc_backend::set_placeholder_array_type): Likewise.
1555 (Gcc_backend::named_type): Add special handling for builtin
1556 basic types.
1557
1558 2011-12-22 Ian Lance Taylor <iant@google.com>
1559
1560 * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
1561 for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
1562 (Gcc_backend::set_placeholder_struct_type): Likewise.
1563 (Gcc_backend::set_placeholder_array_type): Likewise.
1564 (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
1565
1566 2011-12-13 Ian Lance Taylor <iant@google.com>
1567
1568 * go-backend.c: #include "simple-object.h" and "intl.h".
1569 (GO_EXPORT_SEGMENT_NAME): Define if not defined.
1570 (GO_EXPORT_SECTION_NAME): Likewise.
1571 (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
1572 (go_read_export_data): New function.
1573 * go-c.h (go_read_export_data): Declare.
1574
1575 2011-11-29 Sanjoy Das <thedigitalangel@gmail.com>
1576 Ian Lance Taylor <iant@google.com>
1577
1578 * go-location.h: New file.
1579 * go-linemap.cc: New file.
1580 * go-gcc.cc: Change all uses of source_location to Location.
1581 * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1582 (GO_LINEMAP_H): New variable.
1583 (GO_LEX_H): Use $(GO_LINEMAP_H).
1584 (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1585 (go/go-linemap.o): New target.
1586
1587 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1588
1589 * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1590
1591 2011-08-24 Roberto Lublinerman <rluble@gmail.com>
1592
1593 * lang.opt: Add fgo-optimize-.
1594 * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1595 * go-c.h (go_enable_optimize): Declare.
1596 * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1597 (GO_EXPORT_H): Define.
1598 (GO_IMPORT_H): Add $(GO_EXPORT_H).
1599 (GO_AST_DUMP_H): Define.
1600 (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1601 (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1602 (go/types.o): Likewise.
1603 (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1604 (go/go-optimize.o): New target.
1605
1606 2011-08-24 Joseph Myers <joseph@codesourcery.com>
1607
1608 * Make-lang.in (CFLAGS-go/go-lang.o): New.
1609 (go/go-lang.o): Remove explicit compilation rule.
1610
1611 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1612
1613 * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1614
1615 2011-08-02 Roberto Lublinerman <rluble@gmail.com>
1616
1617 * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1618 (go/ast-dump.o): New target.
1619 (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1620 (go/statements.o): Likewise.
1621
1622 2011-07-06 Richard Guenther <rguenther@suse.de>
1623
1624 * go-lang.c (go_langhook_init):
1625 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1626
1627 2011-06-14 Joseph Myers <joseph@codesourcery.com>
1628
1629 * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1630 dependencies.
1631 * go-backend.c: Include common/common-target.h.
1632 (go_write_export_data): Use targetm_common.have_named_sections.
1633 * go-lang.c: Include common/common-target.h.
1634 (go_langhook_init_options_struct): Use
1635 targetm_common.supports_split_stack.
1636
1637 2011-06-13 Ian Lance Taylor <iant@google.com>
1638
1639 * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1640
1641 2011-06-10 Ian Lance Taylor <iant@google.com>
1642
1643 * go-gcc.cc: Include "toplev.h".
1644 (Gcc_backend::immutable_struct): New function.
1645 (Gcc_backend::immutable_struct_set_init): New function.
1646 (Gcc_backend::immutable_struct_reference): New function.
1647 * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1648
1649 2011-06-09 Ian Lance Taylor <iant@google.com>
1650
1651 * go-gcc.cc (Gcc_backend::zero_expression): New function.
1652
1653 2011-06-07 Richard Guenther <rguenther@suse.de>
1654
1655 * go-lang.c (go_langhook_init): Do not set
1656 size_type_node or call set_sizetype.
1657
1658 2011-05-27 Ian Lance Taylor <iant@google.com>
1659
1660 * go-backend.c: Include "output.h".
1661 (go_write_export_data): New function.
1662 * go-c.h (go_write_export_data): Declare.
1663 * Make-lang.in (go/go-backend.o): Depend on output.h.
1664 (go/export.o): Depend on $(GO_C_H). Do not depend on
1665 $(MACHMODE_H), output.h, or $(TARGET_H).
1666
1667 2011-05-24 Joseph Myers <joseph@codesourcery.com>
1668
1669 * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1670 (gccgo$(exeext)): Use libcommon-target.a.
1671
1672 2011-05-20 Joseph Myers <joseph@codesourcery.com>
1673
1674 * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1675
1676 2011-05-13 Ian Lance Taylor <iant@google.com>
1677
1678 * go-gcc.cc (Gcc_backend::function_type): When building a struct
1679 for multiple results, check that all fields types have a size.
1680 (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1681
1682 2011-05-12 Ian Lance Taylor <iant@google.com>
1683
1684 * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1685 parameter.
1686 (Gcc_backend::parameter_variable): Likewise.
1687
1688 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
1689
1690 * go-lang.c (global_bindings_p): Return bool and simplify.
1691
1692 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1693
1694 * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1695
1696 2011-05-04 Ian Lance Taylor <iant@google.com>
1697
1698 * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1699 (Gcc_backend::fill_in_struct): New function.
1700 (Gcc_backend::array_type): Implement.
1701 (Gcc_backend::fill_in_array): New function.
1702 (Gcc_backend::placeholder_pointer_type): New function.
1703 (Gcc_backend::set_placeholder_pointer_type): New function.
1704 (Gcc_backend::set_placeholder_function_type): New function.
1705 (Gcc_backend::placeholder_struct_type): New function.
1706 (Gcc_backend::set_placeholder_struct_type): New function.
1707 (Gcc_backend::placeholder_array_type): New function.
1708 (Gcc_backend::set_placeholder_array_type): New function.
1709 (Gcc_backend::named_type): New function.
1710 (Gcc_backend::circular_pointer_type): New function.
1711 (Gcc_backend::is_circular_pointer_type): New function.
1712
1713 2011-04-26 Ian Lance Taylor <iant@google.com>
1714
1715 * go-gcc.cc (Gcc_backend::struct_type): Implement.
1716
1717 2011-04-25 Ian Lance Taylor <iant@google.com>
1718
1719 * go-gcc.cc (Gcc_backend::error_type): Implement.
1720 (Gcc_backend::string_type): Remove.
1721 (Gcc_backend::function_type): Change signature and implement.
1722 (Gcc_backend::struct_type): Change signature.
1723 (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1724 (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1725 (Gcc_backend::pointer_type): Check for error.
1726 * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1727
1728 2011-04-25 Evan Shaw <edsrzf@gmail.com>
1729
1730 * go-gcc.c (class Gcc_tree): Make get_tree const.
1731 (Gcc_backend::void_type): Implement.
1732 (Gcc_backend::bool_type): Implement.
1733 (Gcc_backend::integer_type): Implement.
1734 (Gcc_backend::float_type): Implement.
1735 (Gcc_backend::complex_type): New function.
1736 (Gcc_backend::pointer_type): New function.
1737 (Gcc_backend::make_type): New function.
1738 (type_to_tree): New function.
1739
1740 2011-04-21 Ian Lance Taylor <iant@google.com>
1741
1742 * go-system.h (go_assert, go_unreachable): Define.
1743
1744 2011-04-19 Ian Lance Taylor <iant@google.com>
1745
1746 * go-system.h: Include "intl.h".
1747 * Make-lang.in (GO_SYSTEM_H): Add intl.h.
1748 (go/statements.o): Remove dependencies on intl.h $(TREE_H)
1749 $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1750
1751 2011-04-19 Ian Lance Taylor <iant@google.com>
1752
1753 * go-gcc.cc (Gcc_backend::temporary_variable): New function.
1754
1755 2011-04-19 Ian Lance Taylor <iant@google.com>
1756
1757 * go-gcc.cc (class Bblock): Define.
1758 (Gcc_backend::if_statement): Change then_block and else_block to
1759 Bblock*.
1760 (Gcc_backend::block): New function.
1761 (Gcc_backend::block_add_statements): New function.
1762 (Gcc_backend::block_statement): New function.
1763 (tree_to_block, block_to_tree): New functions.
1764
1765 2011-04-18 Ian Lance Taylor <iant@google.com>
1766
1767 * go-gcc.cc: Include "go-c.h".
1768 (class Bvariable): Define.
1769 (Gcc_backend::init_statement): New function.
1770 (Gcc_backend::global_variable): New function.
1771 (Gcc_backend::global_variable_set_init): New function.
1772 (Gcc_backend::local_variable): New function.
1773 (Gcc_backend::parameter_variable): New function.
1774 (tree_to_type, var_to_tree): New functions.
1775 * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1776 * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1777
1778 2011-04-15 Ian Lance Taylor <iant@google.com>
1779
1780 * go-gcc.cc (Gcc_backend::compound_statement): New function.
1781 (Gcc_backend::assignment_statement): Use error_statement.
1782 (Gcc_backend::return_statement): Likewise.
1783 (Gcc_backend::if_statement): Likewise.
1784 (Gcc_backend::switch_statement): Likewise.
1785 (Gcc_backend::statement_list): Likewise.
1786
1787 2011-04-14 Ian Lance Taylor <iant@google.com>
1788
1789 * go-gcc.cc (Gcc_backend::error_statement): New function.
1790
1791 2011-04-13 Ian Lance Taylor <iant@google.com>
1792
1793 * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1794
1795 2011-04-13 Ian Lance Taylor <iant@google.com>
1796
1797 * Make-lang.in (GO_OBJS): Add go/runtime.o.
1798 (GO_RUNTIME_H): New variable.
1799 (go/runtime.o): New target.
1800 (go/gogo.o): Depend on $(GO_RUNTIME_H).
1801 (go/statements.o): Likewise.
1802
1803 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1804
1805 * go-lang.c (union lang_tree_node): Check for TS_COMMON before
1806 calling TREE_CHAIN.
1807
1808 2011-04-06 Ian Lance Taylor <iant@google.com>
1809
1810 * go-gcc.cc (if_statement): Use build3_loc.
1811 (Gcc_backend::switch_statement): New function.
1812 (Gcc_backend::statement_list): New function.
1813
1814 2011-04-06 Ian Lance Taylor <iant@google.com>
1815
1816 * go-gcc.cc (Gcc_backend::if_statement): New function.
1817 (tree_to_stat): New function.
1818 (expr_to_tree): Renamed from expression_to_tree.
1819 (stat_to_tree): Renamed from statement_to_tree.
1820
1821 2011-04-06 Ian Lance Taylor <iant@google.com>
1822
1823 * go-gcc.cc (Gcc_backend::expression_statement): New function.
1824
1825 2011-04-04 Ian Lance Taylor <iant@google.com>
1826
1827 * go-gcc.c (class Blabel): Define.
1828 (Gcc_backend::make_expression): New function.
1829 (get_identifier_from_string): New function.
1830 (Gcc_backend::label): New function.
1831 (Gcc_backend::label_definition_statement): New function.
1832 (Gcc_backend::goto_statement): New function.
1833 (Gcc_backend::label_address): New function.
1834 (expression_to_tree): New function.
1835 * Make-lang.in (go/expressions.o): Depend on
1836 go/gofrontend/backend.h.
1837 (go/gogo.o): Likewise.
1838
1839 2011-04-04 Ian Lance Taylor <iant@google.com>
1840
1841 * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1842 (class Bfunction): Define.
1843 (Gcc_backend::assignment_statement): Rename from assignment.
1844 Check for errors.
1845 (Gcc_backend::return_statement): New function.
1846 (tree_to_function): New function.
1847 * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1848 $(GIMPLE_H), and $(GO_GOGO_H).
1849
1850 2011-04-03 Ian Lance Taylor <iant@google.com>
1851
1852 * go-gcc.cc: New file.
1853 * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1854 (go/go-gcc.o): New target.
1855 (go/go.o): Depend on go/gofrontend/backend.h.
1856 (go/statements.o): Likewise.
1857
1858 2011-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1859
1860 * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1861
1862 2011-02-08 Ian Lance Taylor <iant@google.com>
1863
1864 * go-lang.c (go_langhook_init_options_struct): Set
1865 frontend_set_flag_errno_math. Don't set x_flag_trapping_math.
1866
1867 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1868
1869 * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1870 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1871
1872 2011-01-21 Ian Lance Taylor <iant@google.com>
1873
1874 * go-lang.c (go_langhook_init): Omit float_type_size when calling
1875 go_create_gogo.
1876 * go-c.h: Update declaration of go_create_gogo.
1877
1878 2011-01-13 Ian Lance Taylor <iant@google.com>
1879
1880 * go-backend.c: Include "rtl.h" and "target.h".
1881 (go_imported_unsafe): New function.
1882 * go-c.h (go_imported_unsafe): Declare.
1883 * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
1884 (go/gogo-tree.o): Remove dependency on $(RTL_H).
1885 (go/unsafe.o): Depend on $(GO_C_H).
1886
1887 2010-12-31 Joern Rennecke <amylaar@spamcop.net>
1888
1889 PR go/47113
1890 * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
1891 variable ‘field’ .
1892
1893 2010-12-21 Ian Lance Taylor <iant@google.com>
1894
1895 * Make-lang.in (check-go): Remove.
1896 (lang_checks_parallelized): Add check-go.
1897 (check_go_parallelize): Set.
1898
1899 2010-12-13 Ian Lance Taylor <iant@google.com>
1900
1901 * gospec.c (lang_specific_driver): Add a -o option if not linking
1902 and there is no -o option already.
1903
1904 2010-12-07 Ian Lance Taylor <iant@google.com>
1905
1906 PR tree-optimization/46805
1907 PR tree-optimization/46833
1908 * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
1909
1910 2010-12-06 Ian Lance Taylor <iant@google.com>
1911
1912 PR other/46789
1913 PR bootstrap/46812
1914 * go-lang.c (go_char_p): Define type and vectors.
1915 (go_search_dirs): New static variable.
1916 (go_langhook_handle_option): Use version and version/machine
1917 directories for -L.
1918 (go_langhook_post_options): Add non-specific -L paths.
1919 * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
1920 DEFAULT_TARGET_MACHINE when compiling.
1921 * gccgo.texi (Invoking gccgo): Only document -L for linking.
1922 (Import and Export): Don't mention -L for finding import files.
1923
1924 2010-12-03 Ian Lance Taylor <iant@google.com>
1925
1926 PR bootstrap/46776
1927 * go-backend.c: New file.
1928 * go-c.h (go_type_alignment): Declare.
1929 (go_field_alignment, go_trampoline_info): Declare.
1930 * Make-lang.in (GO_OBJS): Add go/go-backend.o.
1931 (go/go-backend.o): New target.
1932 (go/go-lang.o): Make dependencies match source file.
1933 (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
1934 (go/gogo-tree.o): Don't depend on $(TM_H).
1935
1936 2010-12-03 Ian Lance Taylor <iant@google.com>
1937
1938 * config-lang.in (build_by_default): Set to no.
1939
1940 2010-12-02 Ian Lance Taylor <iant@google.com>
1941
1942 Go frontend added to gcc repository.
1943 \f
1944 Copyright (C) 2010-2022 Free Software Foundation, Inc.
1945
1946 Copying and distribution of this file, with or without modification,
1947 are permitted in any medium without royalty provided the copyright
1948 notice and this notice are preserved.