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