* go-gcc.cc (Gcc_backend::convert_tree): New private method.
[official-gcc.git] / gcc / go / ChangeLog
blobb1876c57d5a2cd22ac5798791fd1782e0ab1ec04
1 2018-01-30  Ian Lance Taylor  <iant@golang.org>
3         * go-gcc.cc (Gcc_backend::convert_tree): New private method.
4         (Gcc_backend::constructor_expression): Call it.
5         (Gcc_backend::assignment_statement): Likewise.
6         (Gcc_backend::temporary_variable): Likewise.
8 2018-01-09  Cherry Zhang  <cherryyz@google.com>
10         * go-gcc.cc (local_variable): Add decl_var parameter.
12 2018-01-09  Cherry Zhang  <cherryyz@google.com>
14         * lang.opt (fgo-debug-escape-hash): New option.
15         * go-c.h (struct go_create_gogo_args): Add debug_escape_hash
16         field.
17         * go-lang.c (go_langhook_init): Set debug_escape_hash field.
18         * gccgo.texi (Invoking gccgo): Document -fgo-debug-escape-hash.
20 2018-01-05  Ian Lance Taylor  <iant@golang.org>
22         * go-gcc.cc (Gcc_backend::Gcc_backend): Correct
23         math_function_type_long to take one argument.
25 2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
26             Alan Hayward  <alan.hayward@arm.com>
27             David Sherwood  <david.sherwood@arm.com>
29         * go-lang.c (go_langhook_type_for_mode): Handle MODE_VECTOR_BOOL.
31 2018-01-03  Richard Sandiford  <richard.sandiford@linaro.org>
32             Alan Hayward  <alan.hayward@arm.com>
33             David Sherwood  <david.sherwood@arm.com>
35         * go-lang.c (go_langhook_type_for_mode): Check valid_vector_subparts_p.
37 2018-01-03  Jakub Jelinek  <jakub@redhat.com>
39         Update copyright years.
41         * gccgo.texi: Bump @copyrights-go year.
43 2017-12-12  Tony Reix  <tony.reix@atos.net>
44             Ian Lance Taylor  <iant@golang.org>
46         * go-lang.c (TARGET_AIX): Define if not defined.
47         (go_langhook_init): Set nil_check_size_threshold to -1 on AIX.
49 2017-12-01  Ian Lance Taylor  <iant@golang.org>
51         * go-gcc.cc (Gcc_backend::Gcc_backend): Define
52         __builtin_unreachable.
53         (Gcc_backend::function): Add does_not_return parameter.
55 2017-12-01  Than McIntosh  <thanm@google.com>
57         * go-c.h (go_create_gogo_args): Add nil_check_size_threshold
58         field.
59         * go-lang.c (go_langhook_init): Set nil_check_size_threshold.
61 2017-11-28  Jakub Jelinek  <jakub@redhat.com>
63         * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using
64         build2_loc instead of build3_loc.
66 2017-11-14  Than McIntosh  <thanm@google.com>
68         * go-gcc.cc (var_expression): Remove Varexpr_context parameter.
70 2017-10-11  Tony Reix  <tony.reix@atos.net>
72         * go-system.h (__STDC_FORMAT_MACROS): Define before including any
73         system header files, as is done in ../system.h.
75 2017-10-05  Ian Lance Taylor  <iant@golang.org>
77         * Make-lang.in (GO_OBJS): Add go/names.o.
79 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
80             Alan Hayward  <alan.hayward@arm.com>
81             David Sherwood  <david.sherwood@arm.com>
83         * go-lang.c (go_langhook_type_for_mode): Use is_complex_float_mode.
85 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
86             Alan Hayward  <alan.hayward@arm.com>
87             David Sherwood  <david.sherwood@arm.com>
89         * go-lang.c (go_langhook_type_for_mode): Use is_int_mode.
91 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
92             Alan Hayward  <alan.hayward@arm.com>
93             David Sherwood  <david.sherwood@arm.com>
95         * go-lang.c (go_langhook_type_for_mode): Use is_float_mode.
97 2017-08-07  Martin Liska  <mliska@suse.cz>
99         * go-gcc.cc (Gcc_backend::function): Look up for no_split_stack
100         and not __no_split_stack__.
102 2017-07-27    Tony Reix  <tony.reix@atos.net>
104         * go-backend.c (go_write_export_data): Use EXCLUDE section for
105         AIX.
107 2017-06-09  Ian Lance Taylor  <iant@golang.org>
109         * go-lang.c (go_langhook_post_options): If -fsplit-stack is turned
110         on, disable implicit -forder-blocks-and-partition.
112 2017-05-12  Than McIntosh  <thanm@google.com>
114         * go-gcc.cc (Gcc_backend::call_expression): Add caller parameter.
116 2017-05-11  Ian Lance Taylor  <iant@google.com>
118         PR go/64238
119         * go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
120         DECL_EXTERNAL, clear TREE_STATIC.
122 2017-05-10  Than McIntosh  <thanm@google.com>
124         * go-backend.c: Include "go-c.h".
125         * go-gcc.cc (Gcc_backend::write_export_data): New method.
127 2017-05-10  Ian Lance Taylor  <iant@google.com>
129         * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
130         __builtin_prefetch.
131         * Make-lang.in (GO_OBJS): Add go/wb.o.
133 2017-03-28  Than McIntosh  <thanm@google.com>
135         PR go/80226
136         * go-gcc.cc (Gcc_backend::return_statement): Check for
137         void_type_node when checking result size.
139 2017-02-20  Ian Lance Taylor  <iant@golang.org>
141         PR go/79642
142         * lang.opt (-fgo-relative-import-path): Change space to tab.
144 2017-02-07  Richard Biener  <rguenther@suse.de>
146         PR tree-optimization/79256
147         PR middle-end/79278
148         * go-backend.c (go_field_alignment): Adjust.
150 2017-01-11  Than McIntosh  <thanm@google.com>
152         * go-gcc.cc (conditional_expression): Add Bfunction parameter.
154 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
156         Update copyright years.
158         * gccgo.texi: Bump @copyrights-go year.
160 2016-12-16  Than McIntosh  <thanm@google.com>
162         * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
163         parameter.
164         (Gcc_backend::init_statement): Likewise.
165         (Gcc_backend::assignment_statement): Likewise.
166         (Gcc_backend::if_statement): Likewise.
168 2016-12-06  Than McIntosh  <thanm@google.com>
170         * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
171         parameter.
173 2016-11-22  Than McIntosh  <thanm@google.com>
175         * go-gcc.cc (char_needs_encoding): Remove.
176         (needs_encoding, fetch_utf8_char, encode_id): Remove.
177         (Gcc_backend::global_variable): Add asm_name parameter.  Don't
178         compute asm_name here.
179         (Gcc_backend::implicit_variable): Likewise.
180         (Gcc_backend::implicit_variable_reference): Likewise.
181         (Gcc_backend::immutable_struct): Likewise.
182         (Gcc_backend::immutable_struct_reference): Likewise.
183         * Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
185 2016-11-22  Ian Lance Taylor  <iant@google.com>
187         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
188         __builtin_frame_address.
190 2016-10-25  David Malcolm  <dmalcolm@redhat.com>
192         * go-lang.c (go_langhook_type_for_mode): Remove redundant cast
193         from result of GET_MODE_CLASS.  Minor formatting fixes.
195 2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
197         * go-backend.c: Include memmodel.h.
199 2016-10-10  Than McIntosh  <thanm@google.com>
201         * go-gcc.h: New file.
202         * go-c.h (struct go_create_gogo_args): Add backend and linemap
203         fields.
204         * go-lang.c: Include "go-gcc.h".
205         (go_langhook_init): Set linemap and backend fields of args.
206         * go-gcc.cc: Include "go-gcc.h".
207         * go-linemap.cc: Include "go-gcc.h".
209 2016-10-10  Than McIntosh  <thanm@google.com>
211         * go-linemap.cc (Gcc_linemap::location_line): New method.
213 2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
215         * config-lang.in (lang_requires_boot_languages): Delete.
217 2016-10-06  Chris Manghane  <cmang@google.com>
219         * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
220         returned memory.
222 2016-09-27  Than McIntosh  <thanm@google.com>
224         * go-linemap.cc (Gcc_linemap::to_string): New method.
226 2016-09-23  Than McIntosh  <thanm@google.com>
228         * go-gcc-diagnostics.cc: New file.
229         * go-location.h (Location): Remove operator source_location.  Add
230         operator==.
231         * go-system.h: #include <sstream>.
232         * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
233         go/go-gcc-diagnostics.o.
234         (CFLAGS-go/go-gcc-diagnostics.o): New variable.
236 2016-09-23  Chris Manghane  <cmang@google.com>
238         PR go/77701
239         * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
240         to pass arguments in the correct order.
242 2016-09-22  Ian Lance Taylor  <iant@golang.org>
244         * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
245         __builtin_frame_address.
247 2016-09-11  Ian Lance Taylor  <iant@golang.org>
249         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
250         ctz, ctzll, bswap32, bswap64.
252 2016-09-10  Ian Lance Taylor  <iant@golang.org>
254         * go-backend.c (go_trampoline_info): Remove.
255         * go-c.h (go_trampoline_info): Don't declare.
257 2016-09-09  Than McIntosh  <thanm@google.com>
259         * go-sha1.cc: New file.
260         * Make-lang.in (GO_OBJS): Add go/go-sha1.o.
261         (CFLAGS-go/go-sha1.o): New variable.
263 2016-08-29  Ian Lance Taylor  <iant@google.com>
265         * lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
266         * go-c.h (struct go_create_gogo_args): Define.
267         (go_create_gogo): Change declaration to take struct pointer.
268         * go-lang.c (go_c_header): New static variable.
269         (go_langhook_init): Update call to go_create_gogo.
270         * gccgo.texi (Invoking gccgo): Document -fgo-c-header and
271         -fgo-compiling-runtime.
273 2016-08-09  Ian Lance Taylor  <iant@google.com>
275         * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
276         -fgo-debug-escae.
277         (Compiler Directives): New chapter.
278         (Function Names): Describe using //go:linkname.  Suggest using
279         -fgo-pkgpath rather than -fgo-prefix.
281 2016-08-08  Ian Lance Taylor  <iant@google.com>
283         PR go/72814
284         * go-gcc.cc (Gcc_backend::function_type): If the return type is
285         zero bytes, treat the function as returning void.
286         (return_statement): If the return type is zero bytes, don't
287         actually return any values.
289 2016-08-05  Ian Lance Taylor  <iant@google.com>
291         PR go/72812
292         * go-gcc.cc (char_needs_encoding): New static function.
293         (needs_encoding, fetch_utf8_char): New static functions.
294         (encode_id): New static function.
295         (Gcc_backend::global_variable): Set asm name if the name is not
296         simple ASCII.
297         (Gcc_backend::implicit_variable): Likewise.
298         (Gcc_backend::implicit_variable_reference): Likewise.
299         (Gcc_backend::immutable_struct): Likewise.
300         (Gcc_backend::immutable_struct_reference): Likewise.
301         (Gcc_backend::function): Likewise.
303 2016-08-02  Chris Manghane  <cmang@google.com>
305         * lang.opt: Add -fgo-debug-escape option.
306         * go-c.h (go_create_gogo): Add debug_escape_level parameter.
307         * go-lang.c (go_langhook_init): Pass go_debug_escape_level to
308         go_create_gogo.
310 2016-05-06  Chris Manghane  <cmang@google.com>
312         * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
313         new escape.cc).
315 2016-04-29  Chris Manghane  <cmang@google.com>
317         * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
319 2016-04-18  Michael Matz  <matz@suse.de>
321         * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
323 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
325         * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
326         neighbour -> neighbor.
327         * gccgo.texi: Likewise.
329 2016-01-27  Ian Lance Taylor  <iant@google.com>
331         * go-lang.c (go_langhook_init_options_struct): Default to
332         -fkeep-gc-roots-live.
334 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
336         Update copyright years.
338         * gccgo.texi: Bump @copyrights-go year.
340 2015-12-21  Ian Lance Taylor  <iant@google.com>
342         * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.  Add
343         t_ and orig_type_ fields.  Add new two parameter constructor.  Add
344         get_tree and get_decl methods.
345         (Gcc_backend::var_expression): Pass location to var get_tree.
346         (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR.  Use
347         two parameter constructor for Bvariable.
348         (Gcc_backend::global_variable_set_init): Don't remove
349         VIEW_CONVERT_EXPR.  Use var get_decl, not get_tree.
350         (Gcc_backend::write_global_definitions): Likewise.
351         (Gcc_backend::init_statement): Call var get_decl, not get_tree.
352         (Gcc_backend::block): Likewise.
353         (Gcc_backend::implicit_variable_set_init): Likewise.
354         (Gcc_backend::immutable_struct_set_init): Likewise.
355         (Gcc_backend::function_set_parameters): Likewise.
357 2015-12-21  Ian Lance Taylor  <iant@google.com>
359         * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
360         add a VIEW_CONVERT_EXPR to the tree.
361         (Gcc_backend::global_variable_set_init): Remove any
362         VIEW_CONVERT_EXPR.
363         (Gcc_backend::write_global_definitions): Likewise.
365 2015-11-30  Ian Lance Taylor  <iant@google.com>
367         PR go/68477
368         * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
369         TYPE_STRING_FLAG on a variant type.
371 2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
373         * go-backend.c: Remove unused header files.
374         * go-gcc.cc: Likewise.
375         * go-lang.c: Likewise.
376         * gospec.c: Likewise.
378 2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
380         * go-backend.c: Reorder #include's and remove duplicates.
381         * go-lang.c: Likewise.
383 2015-10-20  Alan Modra  <amodra@gmail.com>
385         PR go/66870
386         * gospec.c (saw_opt_m32): Rename to..
387         (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
388         Update uses.
389         (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
391 2015-10-01  Ian Lance Taylor  <iant@google.com>
393         PR go/66870
394         * gospec.c (lang_specific_driver): Only look for OPT_m32 if
395         TARGET_CAN_SPLIT_STACK_64BIT is defined.
397 2015-10-01  Lynn Boger  <laboger@linux.vnet.ibm.com>
399         PR target/66870
400         * gospec.c (lang_specific_driver): Set appropriate split stack
401         options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
403 2015-09-10  Chris Manghane  <cmang@google.com>
405         * go-gcc.cc (Gcc_backend::type_size): Return -1 for
406         unrepresentable size.
408 2015-08-24  Marek Polacek  <polacek@redhat.com>
410         PR tree-optimization/67284
411         * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
412         Set TREE_THIS_VOLATILE.
413         (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
414         Pass false to the rest of define_builtin calls.
416 2015-07-31  Andreas Schwab  <schwab@linux-m68k.org>
418         * go-lang.c (go_langhook_init_options_struct): Don't set
419         x_flag_split_stack.
420         (go_langhook_post_options): Set it here instead.
422 2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
424         * gofrontend/backend.h: Fix double word typos.
425         * gofrontend/expressions.cc: Same.
426         * gospec.c: Same.
428 2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
430         * go-backend.c: Adjust includes.
431         * go-gcc.cc: Likewise.
432         * go-lang.c: Likewise.
434 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
436         * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
438 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
440         * go-backend.c: Do not include input.h, line-map.h or is-a.h.
441         * go-gcc.cc: Likewise.
442         * go-lang.c: Likewise.
443         * go-system.h: Likewise.
445 2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
447         * go-backend.c : Adjust include files.
448         * go-gcc.cc : Likewise.
449         * go-lang.c : Likewise.
451 2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
453         * go-gcc.cc (write_global_definitions): Remove call to
454         finalize_compilation_unit.
455         Remove Go specific debug generation.
456         * go-lang.c (go_langhook_parse_file): Call go_write_globals.
457         (go_langhook_write_globals): Remove.
458         Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
460 2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
462         * go-backend.c: Adjust includes for restructured coretypes.h.
463         * go-c.h: Likewise.
464         * go-gcc.cc: Likewise.
465         * go-lang.c: Likewise.
467 2015-04-30  Chris Manghane  <cmang@google.com>
469         * go-gcc.cc (Gcc_backend::stack_allocation_expression): New
470         method.
472 2015-04-27  Jim Wilson  <jim.wilson@linaro.org>
474         * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
476 2015-04-17  Chris Manghane  <cmang@google.com>
478         * Make-lang.in (GO_OBJS): Add go/escape.o.
480 2015-02-02  Ian Lance Taylor  <iant@google.com>
482         PR go/64836
483         PR go/64838
484         * go-gcc.cc (Gcc_backend::type_size): Change return type to
485         int64_t.
486         (Gcc_backend::type_alignment): Likewise.
487         (Gcc_backend::type_field_alignment): Likewise.
488         (Gcc_backend::type_field_offset): Likewise.
489         (Gcc_backend::implicit_variable): Change alignment parameter type
490         to int64_t.
492 2015-01-23  Ian Lance Taylor  <iant@google.com>
494         PR go/63565
495         * gccgo.texi (Invoking gccgo): Mention that Go programs should not
496         be stripped.
498         * gccgo.texi (C Interoperability): Mention that people should use
499         cgo.
501 2015-01-23  Ian Lance Taylor  <iant@google.com>
503         PR go/64595
504         * go-lang.c (go_langhook_init_options_struct): Set default
505         debug_info_level.
506         (go_langhook_post_options): If debug_info_level is still the
507         default, make sure write_symbols is set.
508         * gccgo.texi (Invoking gccgo): Document that -g1 is the default.
510 2015-01-16  Richard Henderson  <rth@redhat.com>
512         * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
513         (Gcc_backend::static_chain_variable): New method.
515 2015-01-09  Ian Lance Taylor  <iant@google.com>
517         * config-lang.in (lang_dirs): Define.
519 2015-01-09  Michael Collison  <michael.collison@linaro.org>
521         * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
522         input.h, alias.h, symtab.h, options.h, fold-const.h,
523         wide-int.h, and inchash.h due to flattening of tree.h.
524         * go-lang.c: Ditto.
525         * go-backend.c: Ditto.
527 2015-01-07  Chris Manghane  <cmang@google.com>
529         PR go/61204
530         * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
531         zero-sized variable.
533 2015-01-06  Chris Manghane  <cmang@google.com>
535         * go-gcc.cc (Gcc_backend::constructor_expression): Don't
536         initialize zero-sized fields, just evaluate the values for side
537         effects.
539 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
541         Update copyright years.
543         * gccgo.texi: Bump @copyrights-go year.
545 2014-12-19  Chris Manghane  <cmang@google.com>
547         * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
548         construct arrays of zero-sized values.
550 2014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
552         * go-lang.c: Remove redundant enum from machine_mode.
554 2014-10-28  Andrew MacLeod  <amacleod@redhat.com>
556         * go-gcc.cc: Adjust include files.
558 2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
560         * go-gcc.cc: Adjust include files.
561         * go-lang.c: Ditto.
563 2014-10-23  Ian Lance Taylor  <iant@google.com>
565         * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
566         mpc_t parameter instead of two mpfr_t parameters.
568 2014-09-15  Jakub Jelinek  <jakub@redhat.com>
570         * Make-lang.in (check_go_parallelize): Change to just an upper bound
571         number.
573 2014-09-03  Chris Manghane  <cmang@google.com>
575         * go-gcc.cc (Gcc_backend::implicit_variable): Remove init
576         parameter.  Add is_hidden parameter.
577         (Gcc_backend::implicit_variable_set_init): New method.
578         (Gcc_backend::implicit_variable_reference): New method.
580 2014-08-08  Ian Lance Taylor  <iant@google.com>
582         * go-gcc.cc (Gcc_backend::compound_statement): Don't return
583         NULL_TREE.
585 2014-07-24  Uros Bizjak  <ubizjak@gmail.com>
587         * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
588         symtab_get_node to symtab_node::get.
590 2014-06-13  Ian Lance Taylor  <iant@google.com>
592         PR go/61496
593         * gospec.c (lang_specific_driver): On Solaris, when not using GNU
594         ld, add -t option to avoid warning about common symbol changing
595         size.
597 2014-06-10  Jan Hubicka  <hubicka@ucw.cz>
599         * go-gcc.cc (Gcc_backend::global_variable_set_init): Use
600         symtab_get_node(var_decl)->implicit_section.
602 2014-06-07  Jan Hubicka  <hubicka@ucw.cz>
604         * go-gcc.cc (global_variable_set_init): Use
605         set_decl_section_name.
607 2014-06-04  Ian Lance Taylor  <iant@google.com>
609         * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
610         alignment parameters.  Permit init parameter to be NULL.
612 2014-06-02  Andrew MacLeod  <amacleod@redhat.com>
614         * go-gcc.cc: Include builtins.h.
616 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
618         * go-lang.c (struct GTY): Don't use variable_size gty attribute.
620 2014-05-06  Chris Manghane  <cmang@google.com>
622         * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
623         (Gcc_backend::boolean_constant_expression): New method.
624         (Gcc_backend::zero_expression): Use this->make_expression rather
625         than tree_to_expr.
626         (Gcc_backend::var_expression): Likewise.
627         (Gcc_backend::integer_constant_expression): Likewise.
628         (Gcc_backend::float_constant_expression): Likewise.
629         (Gcc_backend::complex_constant_expression): Likewise.
630         (Gcc_backend::struct_field_expression): Likewise.
631         (tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
632         (tree_to_function, tree_to_block): Remove functions.
633         (type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
634         (block_to_tree, var_to_tree, function_to_tree): Remove functions.
636 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
637             Mike Stump  <mikestump@comcast.net>
638             Richard Sandiford  <rdsandiford@googlemail.com>
640         * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
642 2014-05-06  Chris Manghane  <cmang@google.com>
644         * go-c.h (go_create_gogo): Update declaration to add
645         check_divide_zero and check_divide_overflow parameters.
646         * go-lang.c (go_langhook_init): Pass new arguments to
647         go_create_gogo.
649 2014-05-05  Chris Manghane  <cmang@google.com>
651         * go-gcc.cc (Gcc_backend::implicit_variable): Rename from
652         gc_root_variable.  Add name and is_constant parameters.
654 2014-05-05  Chris Manghane  <cmang@google.com>
656         * go-gcc.cc (Gcc_backend::indirect_expression): Add btype
657         parameter.
658         (Gcc_backend::temporary_variable): Check for erroneous function.
660 2014-04-30  Chris Manghane  <cmang@google.com>
662         * go-backend.c: #include "diagnostics.h".
663         (saw_errors): New function.
664         * go-c.h (saw_errors): Declare.
665         * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
667 2014-04-30  Chris Manghane  <cmang@google.com>
669         * go-lang.c (go_langhook_type_for_size): Do it here, rather than
670         calling into Go frontend.
671         (go_langhook_type_for_mode): Likewise.
672         * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
674 2014-04-30  Chris Manghane  <cmang@google.com>
676         * go-gcc.cc: #include "langhooks.h".
677         (Gcc_backend::Gcc_backend): Add constructor.
678         (Gcc_backend::lookup_function): New function.
679         (Gcc_backend::define_builtin): New private function.
680         (Gcc_backend::gcc_backend): Remove.
681         (go_get_backend): Use new to create new Gcc_backend.
683 2014-04-25  Chris Manghane  <cmang@google.com>
685         * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
686         (Gcc_backend::return_statement): Push and pop function.
687         (Gcc_backend::label): Likewise.
688         (Gcc_backend::function_defer_statement): Likewise.
689         (Gcc_backend::switch_statement): Add function parameter.
690         (Gcc_backend::block): Don't permit function to be NULL.
691         (Gcc_backend::temporary_variable): Change go_assert to
692         gcc_assert.
693         (Gcc_backend::gc_root_variable): New function.
694         (Gcc_backend::write_global_definitions): New function.
696 2014-04-22  Chris Manghane  <cmang@google.com>
698         * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
699         call to create_tmp_var.  Require that function be non-NULL.
701 2014-04-17  Chris Manghane  <cmang@google.com>
703         * go-gcc.cc (Gcc_backend::named_constant_expression): New
704         function.
706 2014-04-14  Chris Manghane  <cmang@google.com>
708         * go-gcc.cc: Include "convert.h".
709         (Gcc_backend::string_constant_expression): New function.
710         (Gcc_backend::real_part_expression): Likewise.
711         (Gcc_backend::imag_part_expression): Likewise.
712         (Gcc_backend::complex_expression): Likewise.
713         (Gcc_backend::constructor_expression): Likewise.
714         (Gcc_backend::array_constructor_expression): Likewise.
715         (Gcc_backend::pointer_offset_expression): Likewise.
716         (Gcc_backend::array_index_expression): Likewise.
717         (Gcc_backend::call_expression): Likewise.
718         (Gcc_backend::exception_handler_statement): Likewise.
719         (Gcc_backend::function_defer_statement): Likewise.
720         (Gcc_backend::function_set_parameters): Likewise.
721         (Gcc_backend::function_set_body): Likewise.
722         (Gcc_backend::convert_expression): Handle various type
723         conversions.
725 2014-03-03  Ian Lance Taylor  <iant@google.com>
727         * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
728         DECL_WEAK.
729         (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
730         DECL_WEAK.
732 2014-01-24  Chris Manghane  <cmang@google.com>
734         * go-gcc.cc (Gcc_backend::unary_expression): New function.
736 2014-01-16  Chris Manghane  <cmang@google.com>
738         * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
739         parameter.
740         (operator_to_tree_code): New static function.
741         (Gcc_backend::binary_expression): New function.
743 2014-01-14  Chris Manghane  <cmang@google.com>
745         * go-gcc.cc (Gcc_backend::compound_expression): New function.
746         (Gcc_backend::conditional_expression): New function.
748 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
750         Update copyright years
752 2014-01-02  Tobias Burnus  <burnus@net-b.de>
754         * gccgo.texi: Bump @copying's copyright year.
756 2013-12-16  Chris Manghane  <cmang@google.com>
758         * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
760 2013-12-11  Ian Lance Taylor  <iant@google.com>
762         * go-lang.c (go_langhook_post_options): Disable sibling calls by
763         default.
765 2013-12-10  Ian Lance Taylor  <iant@google.com>
767         * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
768         separately.
770 2013-12-05  Ian Lance Taylor  <iant@google.com>
772         Revert this change; no longer required.
773         2013-11-06  Ian Lance Taylor  <iant@google.com>
775         * go-lang.c (go_langhook_post_options): If
776         -fisolate-erroneous-paths was turned on by an optimization option,
777         turn it off.
779 2013-11-23  Ian Lance Taylor  <iant@google.com>
781         * go-gcc.cc (Gcc_backend::function_type): Add result_struct
782         parameter.
784 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
786         * go-gcc.cc: Add required include files from gimple.h.
787         * go-lang.c: Likewise
789 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
791         * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
792         tree_to_shwi throughout.
794 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
796         * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
797         tree_fits_shwi_p throughout.
799 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
801         * go-lang.c: Include only gimplify.h and gimple.h as needed.
803 2013-11-14  Diego Novillo  <dnovillo@google.com>
805         * go-backend.c: Include stor-layout.h.
806         * go-gcc.cc: Include stringpool.h.
807         Include stor-layout.h.
808         Include varasm.h.
809         * go-lang.c: Include stor-layout.h.
811 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
813         * go-lang.c: Include gimplify.h.
815 2013-11-06  Ian Lance Taylor  <iant@google.com>
817         * go-lang.c (go_langhook_post_options): If
818         -fisolate-erroneous-paths was turned on by an optimization option,
819         turn it off.
821 2013-10-14  Chris Manghane  <cmang@google.com>
823         * go-gcc.cc (Gcc_backend::address_expression): New function.
825 2013-10-11  Chris Manghane  <cmang@google.com>
827         * go-gcc.cc (Gcc_backend::function_code_expression): New
828         function.
830 2013-10-10  Chris Manghane  <cmang@google.com>
832         * go-gcc.cc (Gcc_backend::error_function): New function.
833         (Gcc_backend::function): New function.
834         (Gcc_backend::make_function): New function.
835         (function_to_tree): New function.
837 2013-10-04  Chris Manghane  <cmang@google.com>
839         * go-gcc.cc (Gcc_backend::convert_expression): New function.
841 2013-10-02  Chris Manghane  <cmang@google.com>
843         * go-gcc.cc: Include "real.h" and "realmpfr.h".
844         (Gcc_backend::integer_constant_expression): New function.
845         (Gcc_backend::float_constant_expression): New function.
846         (Gcc_backend::complex_constant_expression): New function.
848 2013-09-30  Chris Manghane  <cmang@google.com>
850         * go-gcc.cc (Gcc_backend::error_expression): New function.
851         (Gcc_backend::var_expression): New function.
852         (Gcc_backend::indirect_expression): New function.
854 2013-09-25  Tom Tromey  <tromey@redhat.com>
856         * Make-lang.in (gospec.o): Remove.
857         (CFLAGS-go/gospec.o): New variable.
858         (GCCGO_OBJS): Update to use go/gospec.o.
859         (go_OBJS): Define.
860         (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
861         (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
862         (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
863         (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
864         (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
865         (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
866         (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
867         (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
868         (go/unsafe.o): Remove.
869         (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
870         (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
872 2013-09-25  Tom Tromey  <tromey@redhat.com>
874         * Make-lang.in (gospec.o): Don't use subshell.
876 2013-08-28  Ian Lance Taylor  <iant@google.com>
878         * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
879         the struct is not hidden.
880         (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
882 2013-08-06  Ian Lance Taylor  <iant@google.com>
884         * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
885         compute_reloc_for_constant.
887 2013-08-02  Ian Lance Taylor  <iant@google.com>
889         * go-gcc.cc (immutable_struct_set_init): Always call
890         resolve_unique_section.
892 2013-07-24  Ian Lance Taylor  <iant@google.com>
894         * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
895         fields, recreate those fields with the first one with a non-zero
896         size.
898 2013-07-23  Ian Lance Taylor  <iant@google.com>
900         * go-backend.c: Don't #include "rtl.h".
901         (go_imported_unsafe): Don't call init_varasm_once.
902         * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
904 2013-07-23  Ian Lance Taylor  <iant@google.com>
906         * go-lang.c: Don't #include "except.h".
907         * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
909 2013-06-18  Ian Lance Taylor  <iant@google.com>
911         * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
912         parameter.
913         (Gcc_backend::immutable_struct_set_init): Likewise.
915 2013-05-16  Jason Merrill  <jason@redhat.com>
917         * Make-lang.in (go1$(exeext)): Use link mutex.
919 2013-01-16  Shenghou Ma  <minux.ma@gmail.com>
921         * gospec.c: pass -u pthread_create to linker when static linking.
923 2012-12-21  Ian Lance Taylor  <iant@google.com>
925         PR bootstrap/54659
926         * go-system.h: Don't include <cstdio>.
928 2012-12-18  Ian Lance Taylor  <iant@google.com>
930         PR go/55201
931         * gospec.c: Revert last patch.
933 2012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
935         PR go/55201
936         * gospec.c (LIBATOMIC): Define.
937         (LIBATOMIC_PROFILE): Define.
938         (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
940 2012-11-29  Ian Lance Taylor  <iant@google.com>
942         * go-gcc.cc: Include "output.h".
943         (global_variable): Add is_unique_section parameter.
944         (global_variable_set_init): Adjust unique section if necessary.
945         * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
947 2012-11-17  Diego Novillo  <dnovillo@google.com>
949         Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
951         * go-lang.c: Use new vec API in vec.h.
953 2012-11-16  Ian Lance Taylor  <iant@google.com>
955         * Make-lang.in (gccgo$(exeext)): Add + at start of command.
956         (go1$(exeext)): Likewise.
958 2012-10-30  Ian Lance Taylor  <iant@google.com>
960         * lang.opt (-fgo-relative-import-path): New option.
961         * go-lang.c (go_relative_import_path): New static variable.
962         (go_langhook_init): Pass go_relative_import_path to
963         go_create_gogo.
964         (go_langhook_handle_option): Handle -fgo-relative-import-path.
965         * go-c.h (go_create_gogo): Update declaration.
966         * gccgo.texi (Invoking gccgo): Document
967         -fgo-relative-import-path.
969 2012-09-17  Ian Lance Taylor  <iant@google.com>
971         * config-lang.in (target_libs): Add target-libbacktrace.
973 2012-09-16  Ian Lance Taylor  <iant@google.com>
975         * Make-lang.in (go/gogo.o): Depend on filenames.h.
977 2012-08-14   Diego Novillo  <dnovillo@google.com>
979         Merge from cxx-conversion branch.  Configury.
981         * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
982         * go-gcc.cc: Likewise.
983         * go-system.h: Likewise.
985 2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
987         * go-lang.c (lang_decl): Add variable_size GTY option.
989 2012-05-09  Ian Lance Taylor  <iant@google.com>
991         * lang.opt: Add -fgo-pkgpath.
992         * go-lang.c (go_pkgpath): New static variable.
993         (go_prefix): New static variable.
994         (go_langhook_init): Pass go_pkgpath and go_prefix to
995         go_create_gogo.
996         (go_langhook_handle_option): Handle -fgo-pkgpath.  Change
997         -fgo-prefix handling to just set go_prefix.
998         * go-c.h (go_set_prefix): Don't declare.
999         (go_create_gogo): Add pkgpath and prefix to declaration.
1000         * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
1001         to pkgpath.  Don't include the package name in the asm name.
1002         * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
1003         docs for -fgo-prefix.
1005 2012-04-23  Ian Lance Taylor  <iant@google.com>
1007         * go-lang.c (go_langhook_init): Set MPFR precision to 256.
1009 2012-04-20  Ian Lance Taylor  <iant@google.com>
1011         * lang.opt: Add -fgo-check-divide-zero and
1012         -fgo-check-divide-overflow.
1013         * gccgo.texi (Invoking gccgo): Document new options.
1015 2012-04-18  Steven Bosscher  <steven@gcc.gnu.org>
1017         * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
1018         with NULL_TREE type instead of void_type_node.
1020 2012-03-09  Ian Lance Taylor  <iant@google.com>
1022         * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
1023         to the lhs type if necessary.
1025 2012-03-08  Ian Lance Taylor  <iant@google.com>
1027         * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
1028         zero-sized variable.
1029         (go_non_zero_struct): New global variable.
1030         (Gcc_backend::non_zero_size_type): New function.
1031         (Gcc_backend::global_variable): Don't build an assignment for a
1032         zero-sized value.
1033         * go-c.h (go_non_zero_struct): Declare.
1034         * config-lang.in (gtfiles): Add go-c.h.
1036 2012-02-29  Ian Lance Taylor  <iant@google.com>
1038         * go-gcc.cc (class Gcc_tree): Add set_tree method.
1039         (set_placeholder_pointer_type): When setting to a pointer to
1040         error, set to error_mark_node.
1042 2012-02-23  Richard Guenther  <rguenther@suse.de>
1044         * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
1045         build_distinct_type_copy.
1047 2012-02-17  Ian Lance Taylor  <iant@google.com>
1049         * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
1051 2012-02-17  Ian Lance Taylor  <iant@google.com>
1053         * gospec.c (lang_specific_driver): If linking, and no -o option
1054         was used, add one.
1056 2012-02-14  Ian Lance Taylor  <iant@google.com>
1058         PR go/48411
1059         * Make-lang.in (gccgo-cross$(exeext)): New target.
1060         (go.all.cross): Depend on gccgo-cross$(exeext) instead of
1061         gccgo$(exeext).
1062         (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
1063         gccgo-cross$(exeext) does not exist.
1065 2012-02-07  Ian Lance Taylor  <iant@google.com>
1067         * gccgo.texi (Function Names): Document //extern instead of
1068         __asm__.
1070 2012-02-01  Jakub Jelinek  <jakub@redhat.com>
1072         PR target/52079
1073         * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
1074         return build_nonstandard_integer_type result if possible.
1076 2012-01-21  Ian Lance Taylor  <iant@google.com>
1078         * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
1079         (Gcc_backend::type_alignment): Likewise.
1080         (Gcc_backend::type_field_alignment): Likewise.
1081         (Gcc_backend::type_field_offset): Likewise.
1083 2012-01-20  Ian Lance Taylor  <iant@google.com>
1085         * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
1086         be empty.
1087         (Gcc_backend::set_placeholder_struct_type): Likewise.
1089 2012-01-17  Ian Lance Taylor  <iant@google.com>
1091         * gospec.c (lang_specific_driver): If we see -S without -o, add -o
1092         BASE.s rather than -o BASE.o.
1094 2012-01-11  Ian Lance Taylor  <iant@google.com>
1096         * go-lang.c (go_langhook_init): Initialize void_list_node before
1097         calling go_create_gogo.
1099 2012-01-10  Ian Lance Taylor  <iant@google.com>
1101         * go-gcc.cc (Gcc_backend::type_size): New function.
1102         (Gcc_backend::type_alignment): New function.
1103         (Gcc_backend::type_field_alignment): New function.
1104         (Gcc_backend::type_field_offset): New function.
1105         * go-backend.c (go_type_alignment): Remove.
1106         * go-c.h (go_type_alignment): Don't declare.
1108 2011-12-27  Ian Lance Taylor  <iant@google.com>
1110         * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
1111         build_distinct_type_copy rather than build_variant_type_copy.
1112         (Gcc_backend::set_placeholder_array_type): Likewise.
1113         (Gcc_backend::named_type): Add special handling for builtin
1114         basic types.
1116 2011-12-22  Ian Lance Taylor  <iant@google.com>
1118         * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
1119         for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
1120         (Gcc_backend::set_placeholder_struct_type): Likewise.
1121         (Gcc_backend::set_placeholder_array_type): Likewise.
1122         (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
1124 2011-12-13  Ian Lance Taylor  <iant@google.com>
1126         * go-backend.c: #include "simple-object.h" and "intl.h".
1127         (GO_EXPORT_SEGMENT_NAME): Define if not defined.
1128         (GO_EXPORT_SECTION_NAME): Likewise.
1129         (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
1130         (go_read_export_data): New function.
1131         * go-c.h (go_read_export_data): Declare.
1133 2011-11-29  Sanjoy Das  <thedigitalangel@gmail.com>
1134             Ian Lance Taylor  <iant@google.com>
1136         * go-location.h: New file.
1137         * go-linemap.cc: New file.
1138         * go-gcc.cc: Change all uses of source_location to Location.
1139         * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1140         (GO_LINEMAP_H): New variable.
1141         (GO_LEX_H): Use $(GO_LINEMAP_H).
1142         (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1143         (go/go-linemap.o): New target.
1145 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1147         * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1149 2011-08-24  Roberto Lublinerman  <rluble@gmail.com>
1151         * lang.opt: Add fgo-optimize-.
1152         * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1153         * go-c.h (go_enable_optimize): Declare.
1154         * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1155         (GO_EXPORT_H): Define.
1156         (GO_IMPORT_H): Add $(GO_EXPORT_H).
1157         (GO_AST_DUMP_H): Define.
1158         (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1159         (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1160         (go/types.o): Likewise.
1161         (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1162         (go/go-optimize.o): New target.
1164 2011-08-24  Joseph Myers  <joseph@codesourcery.com>
1166         * Make-lang.in (CFLAGS-go/go-lang.o): New.
1167         (go/go-lang.o): Remove explicit compilation rule.
1169 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1171         * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1173 2011-08-02  Roberto Lublinerman  <rluble@gmail.com>
1175         * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1176         (go/ast-dump.o): New target.
1177         (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1178         (go/statements.o): Likewise.
1180 2011-07-06  Richard Guenther  <rguenther@suse.de>
1182         * go-lang.c (go_langhook_init):
1183         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1185 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1187         * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1188         dependencies.
1189         * go-backend.c: Include common/common-target.h.
1190         (go_write_export_data): Use targetm_common.have_named_sections.
1191         * go-lang.c: Include common/common-target.h.
1192         (go_langhook_init_options_struct): Use
1193         targetm_common.supports_split_stack.
1195 2011-06-13  Ian Lance Taylor  <iant@google.com>
1197         * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1199 2011-06-10  Ian Lance Taylor  <iant@google.com>
1201         * go-gcc.cc: Include "toplev.h".
1202         (Gcc_backend::immutable_struct): New function.
1203         (Gcc_backend::immutable_struct_set_init): New function.
1204         (Gcc_backend::immutable_struct_reference): New function.
1205         * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1207 2011-06-09  Ian Lance Taylor  <iant@google.com>
1209         * go-gcc.cc (Gcc_backend::zero_expression): New function.
1211 2011-06-07  Richard Guenther  <rguenther@suse.de>
1213         * go-lang.c (go_langhook_init): Do not set
1214         size_type_node or call set_sizetype.
1216 2011-05-27  Ian Lance Taylor  <iant@google.com>
1218         * go-backend.c: Include "output.h".
1219         (go_write_export_data): New function.
1220         * go-c.h (go_write_export_data): Declare.
1221         * Make-lang.in (go/go-backend.o): Depend on output.h.
1222         (go/export.o): Depend on $(GO_C_H).  Do not depend on
1223         $(MACHMODE_H), output.h, or $(TARGET_H).
1225 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
1227         * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1228         (gccgo$(exeext)): Use libcommon-target.a.
1230 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
1232         * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1234 2011-05-13  Ian Lance Taylor  <iant@google.com>
1236         * go-gcc.cc (Gcc_backend::function_type): When building a struct
1237         for multiple results, check that all fields types have a size.
1238         (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1240 2011-05-12  Ian Lance Taylor  <iant@google.com>
1242         * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1243         parameter.
1244         (Gcc_backend::parameter_variable): Likewise.
1246 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
1248         * go-lang.c (global_bindings_p): Return bool and simplify.
1250 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1252         * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1254 2011-05-04  Ian Lance Taylor  <iant@google.com>
1256         * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1257         (Gcc_backend::fill_in_struct): New function.
1258         (Gcc_backend::array_type): Implement.
1259         (Gcc_backend::fill_in_array): New function.
1260         (Gcc_backend::placeholder_pointer_type): New function.
1261         (Gcc_backend::set_placeholder_pointer_type): New function.
1262         (Gcc_backend::set_placeholder_function_type): New function.
1263         (Gcc_backend::placeholder_struct_type): New function.
1264         (Gcc_backend::set_placeholder_struct_type): New function.
1265         (Gcc_backend::placeholder_array_type): New function.
1266         (Gcc_backend::set_placeholder_array_type): New function.
1267         (Gcc_backend::named_type): New function.
1268         (Gcc_backend::circular_pointer_type): New function.
1269         (Gcc_backend::is_circular_pointer_type): New function.
1271 2011-04-26  Ian Lance Taylor  <iant@google.com>
1273         * go-gcc.cc (Gcc_backend::struct_type): Implement.
1275 2011-04-25  Ian Lance Taylor  <iant@google.com>
1277         * go-gcc.cc (Gcc_backend::error_type): Implement.
1278         (Gcc_backend::string_type): Remove.
1279         (Gcc_backend::function_type): Change signature and implement.
1280         (Gcc_backend::struct_type): Change signature.
1281         (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1282         (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1283         (Gcc_backend::pointer_type): Check for error.
1284         * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1286 2011-04-25  Evan Shaw  <edsrzf@gmail.com>
1288         * go-gcc.c (class Gcc_tree): Make get_tree const.
1289         (Gcc_backend::void_type): Implement.
1290         (Gcc_backend::bool_type): Implement.
1291         (Gcc_backend::integer_type): Implement.
1292         (Gcc_backend::float_type): Implement.
1293         (Gcc_backend::complex_type): New function.
1294         (Gcc_backend::pointer_type): New function.
1295         (Gcc_backend::make_type): New function.
1296         (type_to_tree): New function.
1298 2011-04-21  Ian Lance Taylor  <iant@google.com>
1300         * go-system.h (go_assert, go_unreachable): Define.
1302 2011-04-19  Ian Lance Taylor  <iant@google.com>
1304         * go-system.h: Include "intl.h".
1305         * Make-lang.in (GO_SYSTEM_H): Add intl.h.
1306         (go/statements.o): Remove dependencies on intl.h $(TREE_H)
1307         $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1309 2011-04-19  Ian Lance Taylor  <iant@google.com>
1311         * go-gcc.cc (Gcc_backend::temporary_variable): New function.
1313 2011-04-19  Ian Lance Taylor  <iant@google.com>
1315         * go-gcc.cc (class Bblock): Define.
1316         (Gcc_backend::if_statement): Change then_block and else_block to
1317         Bblock*.
1318         (Gcc_backend::block): New function.
1319         (Gcc_backend::block_add_statements): New function.
1320         (Gcc_backend::block_statement): New function.
1321         (tree_to_block, block_to_tree): New functions.
1323 2011-04-18  Ian Lance Taylor  <iant@google.com>
1325         * go-gcc.cc: Include "go-c.h".
1326         (class Bvariable): Define.
1327         (Gcc_backend::init_statement): New function.
1328         (Gcc_backend::global_variable): New function.
1329         (Gcc_backend::global_variable_set_init): New function.
1330         (Gcc_backend::local_variable): New function.
1331         (Gcc_backend::parameter_variable): New function.
1332         (tree_to_type, var_to_tree): New functions.
1333         * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1334         * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1336 2011-04-15  Ian Lance Taylor  <iant@google.com>
1338         * go-gcc.cc (Gcc_backend::compound_statement): New function.
1339         (Gcc_backend::assignment_statement): Use error_statement.
1340         (Gcc_backend::return_statement): Likewise.
1341         (Gcc_backend::if_statement): Likewise.
1342         (Gcc_backend::switch_statement): Likewise.
1343         (Gcc_backend::statement_list): Likewise.
1345 2011-04-14  Ian Lance Taylor  <iant@google.com>
1347         * go-gcc.cc (Gcc_backend::error_statement): New function.
1349 2011-04-13  Ian Lance Taylor  <iant@google.com>
1351         * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1353 2011-04-13  Ian Lance Taylor  <iant@google.com>
1355         * Make-lang.in (GO_OBJS): Add go/runtime.o.
1356         (GO_RUNTIME_H): New variable.
1357         (go/runtime.o): New target.
1358         (go/gogo.o): Depend on $(GO_RUNTIME_H).
1359         (go/statements.o): Likewise.
1361 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1363         * go-lang.c (union lang_tree_node): Check for TS_COMMON before
1364         calling TREE_CHAIN.
1366 2011-04-06  Ian Lance Taylor  <iant@google.com>
1368         * go-gcc.cc (if_statement): Use build3_loc.
1369         (Gcc_backend::switch_statement): New function.
1370         (Gcc_backend::statement_list): New function.
1372 2011-04-06  Ian Lance Taylor  <iant@google.com>
1374         * go-gcc.cc (Gcc_backend::if_statement): New function.
1375         (tree_to_stat): New function.
1376         (expr_to_tree): Renamed from expression_to_tree.
1377         (stat_to_tree): Renamed from statement_to_tree.
1379 2011-04-06  Ian Lance Taylor  <iant@google.com>
1381         * go-gcc.cc (Gcc_backend::expression_statement): New function.
1383 2011-04-04  Ian Lance Taylor  <iant@google.com>
1385         * go-gcc.c (class Blabel): Define.
1386         (Gcc_backend::make_expression): New function.
1387         (get_identifier_from_string): New function.
1388         (Gcc_backend::label): New function.
1389         (Gcc_backend::label_definition_statement): New function.
1390         (Gcc_backend::goto_statement): New function.
1391         (Gcc_backend::label_address): New function.
1392         (expression_to_tree): New function.
1393         * Make-lang.in (go/expressions.o): Depend on
1394         go/gofrontend/backend.h.
1395         (go/gogo.o): Likewise.
1397 2011-04-04  Ian Lance Taylor  <iant@google.com>
1399         * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1400         (class Bfunction): Define.
1401         (Gcc_backend::assignment_statement): Rename from assignment.
1402         Check for errors.
1403         (Gcc_backend::return_statement): New function.
1404         (tree_to_function): New function.
1405         * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1406         $(GIMPLE_H), and $(GO_GOGO_H).
1408 2011-04-03  Ian Lance Taylor  <iant@google.com>
1410         * go-gcc.cc: New file.
1411         * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1412         (go/go-gcc.o): New target.
1413         (go/go.o): Depend on go/gofrontend/backend.h.
1414         (go/statements.o): Likewise.
1416 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1418         * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1420 2011-02-08  Ian Lance Taylor  <iant@google.com>
1422         * go-lang.c (go_langhook_init_options_struct): Set
1423         frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.
1425 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1427         * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1428         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1430 2011-01-21  Ian Lance Taylor  <iant@google.com>
1432         * go-lang.c (go_langhook_init): Omit float_type_size when calling
1433         go_create_gogo.
1434         * go-c.h: Update declaration of go_create_gogo.
1436 2011-01-13  Ian Lance Taylor  <iant@google.com>
1438         * go-backend.c: Include "rtl.h" and "target.h".
1439         (go_imported_unsafe): New function.
1440         * go-c.h (go_imported_unsafe): Declare.
1441         * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
1442         (go/gogo-tree.o): Remove dependency on $(RTL_H).
1443         (go/unsafe.o): Depend on $(GO_C_H).
1445 2010-12-31  Joern Rennecke  <amylaar@spamcop.net>
1447         PR go/47113
1448         * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
1449         variable ‘field’ .
1451 2010-12-21  Ian Lance Taylor  <iant@google.com>
1453         * Make-lang.in (check-go): Remove.
1454         (lang_checks_parallelized): Add check-go.
1455         (check_go_parallelize): Set.
1457 2010-12-13  Ian Lance Taylor  <iant@google.com>
1459         * gospec.c (lang_specific_driver): Add a -o option if not linking
1460         and there is no -o option already.
1462 2010-12-07  Ian Lance Taylor  <iant@google.com>
1464         PR tree-optimization/46805
1465         PR tree-optimization/46833
1466         * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
1468 2010-12-06  Ian Lance Taylor  <iant@google.com>
1470         PR other/46789
1471         PR bootstrap/46812
1472         * go-lang.c (go_char_p): Define type and vectors.
1473         (go_search_dirs): New static variable.
1474         (go_langhook_handle_option): Use version and version/machine
1475         directories for -L.
1476         (go_langhook_post_options): Add non-specific -L paths.
1477         * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
1478         DEFAULT_TARGET_MACHINE when compiling.
1479         * gccgo.texi (Invoking gccgo): Only document -L for linking.
1480         (Import and Export): Don't mention -L for finding import files.
1482 2010-12-03  Ian Lance Taylor  <iant@google.com>
1484         PR bootstrap/46776
1485         * go-backend.c: New file.
1486         * go-c.h (go_type_alignment): Declare.
1487         (go_field_alignment, go_trampoline_info): Declare.
1488         * Make-lang.in (GO_OBJS): Add go/go-backend.o.
1489         (go/go-backend.o): New target.
1490         (go/go-lang.o): Make dependencies match source file.
1491         (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
1492         (go/gogo-tree.o): Don't depend on $(TM_H).
1494 2010-12-03  Ian Lance Taylor  <iant@google.com>
1496         * config-lang.in (build_by_default): Set to no.
1498 2010-12-02  Ian Lance Taylor  <iant@google.com>
1500         Go frontend added to gcc repository.
1502 Copyright (C) 2010-2018 Free Software Foundation, Inc.
1504 Copying and distribution of this file, with or without modification,
1505 are permitted in any medium without royalty provided the copyright
1506 notice and this notice are preserved.