2017-03-17 Richard Biener <rguenther@suse.de>
[official-gcc.git] / gcc / go / ChangeLog
blob8958f762fcfa7bc742865349d28d67f8f8f309ad
1 2017-02-20  Ian Lance Taylor  <iant@golang.org>
3         PR go/79642
4         * lang.opt (-fgo-relative-import-path): Change space to tab.
6 2017-02-07  Richard Biener  <rguenther@suse.de>
8         PR tree-optimization/79256
9         PR middle-end/79278
10         * go-backend.c (go_field_alignment): Adjust.
12 2017-01-11  Than McIntosh  <thanm@google.com>
14         * go-gcc.cc (conditional_expression): Add Bfunction parameter.
16 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
18         Update copyright years.
20         * gccgo.texi: Bump @copyrights-go year.
22 2016-12-16  Than McIntosh  <thanm@google.com>
24         * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
25         parameter.
26         (Gcc_backend::init_statement): Likewise.
27         (Gcc_backend::assignment_statement): Likewise.
28         (Gcc_backend::if_statement): Likewise.
30 2016-12-06  Than McIntosh  <thanm@google.com>
32         * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
33         parameter.
35 2016-11-22  Than McIntosh  <thanm@google.com>
37         * go-gcc.cc (char_needs_encoding): Remove.
38         (needs_encoding, fetch_utf8_char, encode_id): Remove.
39         (Gcc_backend::global_variable): Add asm_name parameter.  Don't
40         compute asm_name here.
41         (Gcc_backend::implicit_variable): Likewise.
42         (Gcc_backend::implicit_variable_reference): Likewise.
43         (Gcc_backend::immutable_struct): Likewise.
44         (Gcc_backend::immutable_struct_reference): Likewise.
45         * Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
47 2016-11-22  Ian Lance Taylor  <iant@google.com>
49         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
50         __builtin_frame_address.
52 2016-10-25  David Malcolm  <dmalcolm@redhat.com>
54         * go-lang.c (go_langhook_type_for_mode): Remove redundant cast
55         from result of GET_MODE_CLASS.  Minor formatting fixes.
57 2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
59         * go-backend.c: Include memmodel.h.
61 2016-10-10  Than McIntosh  <thanm@google.com>
63         * go-gcc.h: New file.
64         * go-c.h (struct go_create_gogo_args): Add backend and linemap
65         fields.
66         * go-lang.c: Include "go-gcc.h".
67         (go_langhook_init): Set linemap and backend fields of args.
68         * go-gcc.cc: Include "go-gcc.h".
69         * go-linemap.cc: Include "go-gcc.h".
71 2016-10-10  Than McIntosh  <thanm@google.com>
73         * go-linemap.cc (Gcc_linemap::location_line): New method.
75 2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
77         * config-lang.in (lang_requires_boot_languages): Delete.
79 2016-10-06  Chris Manghane  <cmang@google.com>
81         * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
82         returned memory.
84 2016-09-27  Than McIntosh  <thanm@google.com>
86         * go-linemap.cc (Gcc_linemap::to_string): New method.
88 2016-09-23  Than McIntosh  <thanm@google.com>
90         * go-gcc-diagnostics.cc: New file.
91         * go-location.h (Location): Remove operator source_location.  Add
92         operator==.
93         * go-system.h: #include <sstream>.
94         * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
95         go/go-gcc-diagnostics.o.
96         (CFLAGS-go/go-gcc-diagnostics.o): New variable.
98 2016-09-23  Chris Manghane  <cmang@google.com>
100         PR go/77701
101         * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
102         to pass arguments in the correct order.
104 2016-09-22  Ian Lance Taylor  <iant@golang.org>
106         * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
107         __builtin_frame_address.
109 2016-09-11  Ian Lance Taylor  <iant@golang.org>
111         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
112         ctz, ctzll, bswap32, bswap64.
114 2016-09-10  Ian Lance Taylor  <iant@golang.org>
116         * go-backend.c (go_trampoline_info): Remove.
117         * go-c.h (go_trampoline_info): Don't declare.
119 2016-09-09  Than McIntosh  <thanm@google.com>
121         * go-sha1.cc: New file.
122         * Make-lang.in (GO_OBJS): Add go/go-sha1.o.
123         (CFLAGS-go/go-sha1.o): New variable.
125 2016-08-29  Ian Lance Taylor  <iant@google.com>
127         * lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
128         * go-c.h (struct go_create_gogo_args): Define.
129         (go_create_gogo): Change declaration to take struct pointer.
130         * go-lang.c (go_c_header): New static variable.
131         (go_langhook_init): Update call to go_create_gogo.
132         * gccgo.texi (Invoking gccgo): Document -fgo-c-header and
133         -fgo-compiling-runtime.
135 2016-08-09  Ian Lance Taylor  <iant@google.com>
137         * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
138         -fgo-debug-escae.
139         (Compiler Directives): New chapter.
140         (Function Names): Describe using //go:linkname.  Suggest using
141         -fgo-pkgpath rather than -fgo-prefix.
143 2016-08-08  Ian Lance Taylor  <iant@google.com>
145         PR go/72814
146         * go-gcc.cc (Gcc_backend::function_type): If the return type is
147         zero bytes, treat the function as returning void.
148         (return_statement): If the return type is zero bytes, don't
149         actually return any values.
151 2016-08-05  Ian Lance Taylor  <iant@google.com>
153         PR go/72812
154         * go-gcc.cc (char_needs_encoding): New static function.
155         (needs_encoding, fetch_utf8_char): New static functions.
156         (encode_id): New static function.
157         (Gcc_backend::global_variable): Set asm name if the name is not
158         simple ASCII.
159         (Gcc_backend::implicit_variable): Likewise.
160         (Gcc_backend::implicit_variable_reference): Likewise.
161         (Gcc_backend::immutable_struct): Likewise.
162         (Gcc_backend::immutable_struct_reference): Likewise.
163         (Gcc_backend::function): Likewise.
165 2016-08-02  Chris Manghane  <cmang@google.com>
167         * lang.opt: Add -fgo-debug-escape option.
168         * go-c.h (go_create_gogo): Add debug_escape_level parameter.
169         * go-lang.c (go_langhook_init): Pass go_debug_escape_level to
170         go_create_gogo.
172 2016-05-06  Chris Manghane  <cmang@google.com>
174         * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
175         new escape.cc).
177 2016-04-29  Chris Manghane  <cmang@google.com>
179         * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
181 2016-04-18  Michael Matz  <matz@suse.de>
183         * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
185 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
187         * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
188         neighbour -> neighbor.
189         * gccgo.texi: Likewise.
191 2016-01-27  Ian Lance Taylor  <iant@google.com>
193         * go-lang.c (go_langhook_init_options_struct): Default to
194         -fkeep-gc-roots-live.
196 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
198         Update copyright years.
200         * gccgo.texi: Bump @copyrights-go year.
202 2015-12-21  Ian Lance Taylor  <iant@google.com>
204         * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.  Add
205         t_ and orig_type_ fields.  Add new two parameter constructor.  Add
206         get_tree and get_decl methods.
207         (Gcc_backend::var_expression): Pass location to var get_tree.
208         (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR.  Use
209         two parameter constructor for Bvariable.
210         (Gcc_backend::global_variable_set_init): Don't remove
211         VIEW_CONVERT_EXPR.  Use var get_decl, not get_tree.
212         (Gcc_backend::write_global_definitions): Likewise.
213         (Gcc_backend::init_statement): Call var get_decl, not get_tree.
214         (Gcc_backend::block): Likewise.
215         (Gcc_backend::implicit_variable_set_init): Likewise.
216         (Gcc_backend::immutable_struct_set_init): Likewise.
217         (Gcc_backend::function_set_parameters): Likewise.
219 2015-12-21  Ian Lance Taylor  <iant@google.com>
221         * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
222         add a VIEW_CONVERT_EXPR to the tree.
223         (Gcc_backend::global_variable_set_init): Remove any
224         VIEW_CONVERT_EXPR.
225         (Gcc_backend::write_global_definitions): Likewise.
227 2015-11-30  Ian Lance Taylor  <iant@google.com>
229         PR go/68477
230         * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
231         TYPE_STRING_FLAG on a variant type.
233 2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
235         * go-backend.c: Remove unused header files.
236         * go-gcc.cc: Likewise.
237         * go-lang.c: Likewise.
238         * gospec.c: Likewise.
240 2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
242         * go-backend.c: Reorder #include's and remove duplicates.
243         * go-lang.c: Likewise.
245 2015-10-20  Alan Modra  <amodra@gmail.com>
247         PR go/66870
248         * gospec.c (saw_opt_m32): Rename to..
249         (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
250         Update uses.
251         (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
253 2015-10-01  Ian Lance Taylor  <iant@google.com>
255         PR go/66870
256         * gospec.c (lang_specific_driver): Only look for OPT_m32 if
257         TARGET_CAN_SPLIT_STACK_64BIT is defined.
259 2015-10-01  Lynn Boger  <laboger@linux.vnet.ibm.com>
261         PR target/66870
262         * gospec.c (lang_specific_driver): Set appropriate split stack
263         options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
265 2015-09-10  Chris Manghane  <cmang@google.com>
267         * go-gcc.cc (Gcc_backend::type_size): Return -1 for
268         unrepresentable size.
270 2015-08-24  Marek Polacek  <polacek@redhat.com>
272         PR tree-optimization/67284
273         * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
274         Set TREE_THIS_VOLATILE.
275         (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
276         Pass false to the rest of define_builtin calls.
278 2015-07-31  Andreas Schwab  <schwab@linux-m68k.org>
280         * go-lang.c (go_langhook_init_options_struct): Don't set
281         x_flag_split_stack.
282         (go_langhook_post_options): Set it here instead.
284 2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
286         * gofrontend/backend.h: Fix double word typos.
287         * gofrontend/expressions.cc: Same.
288         * gospec.c: Same.
290 2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
292         * go-backend.c: Adjust includes.
293         * go-gcc.cc: Likewise.
294         * go-lang.c: Likewise.
296 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
298         * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
300 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
302         * go-backend.c: Do not include input.h, line-map.h or is-a.h.
303         * go-gcc.cc: Likewise.
304         * go-lang.c: Likewise.
305         * go-system.h: Likewise.
307 2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
309         * go-backend.c : Adjust include files.
310         * go-gcc.cc : Likewise.
311         * go-lang.c : Likewise.
313 2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
315         * go-gcc.cc (write_global_definitions): Remove call to
316         finalize_compilation_unit.
317         Remove Go specific debug generation.
318         * go-lang.c (go_langhook_parse_file): Call go_write_globals.
319         (go_langhook_write_globals): Remove.
320         Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
322 2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
324         * go-backend.c: Adjust includes for restructured coretypes.h.
325         * go-c.h: Likewise.
326         * go-gcc.cc: Likewise.
327         * go-lang.c: Likewise.
329 2015-04-30  Chris Manghane  <cmang@google.com>
331         * go-gcc.cc (Gcc_backend::stack_allocation_expression): New
332         method.
334 2015-04-27  Jim Wilson  <jim.wilson@linaro.org>
336         * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
338 2015-04-17  Chris Manghane  <cmang@google.com>
340         * Make-lang.in (GO_OBJS): Add go/escape.o.
342 2015-02-02  Ian Lance Taylor  <iant@google.com>
344         PR go/64836
345         PR go/64838
346         * go-gcc.cc (Gcc_backend::type_size): Change return type to
347         int64_t.
348         (Gcc_backend::type_alignment): Likewise.
349         (Gcc_backend::type_field_alignment): Likewise.
350         (Gcc_backend::type_field_offset): Likewise.
351         (Gcc_backend::implicit_variable): Change alignment parameter type
352         to int64_t.
354 2015-01-23  Ian Lance Taylor  <iant@google.com>
356         PR go/63565
357         * gccgo.texi (Invoking gccgo): Mention that Go programs should not
358         be stripped.
360         * gccgo.texi (C Interoperability): Mention that people should use
361         cgo.
363 2015-01-23  Ian Lance Taylor  <iant@google.com>
365         PR go/64595
366         * go-lang.c (go_langhook_init_options_struct): Set default
367         debug_info_level.
368         (go_langhook_post_options): If debug_info_level is still the
369         default, make sure write_symbols is set.
370         * gccgo.texi (Invoking gccgo): Document that -g1 is the default.
372 2015-01-16  Richard Henderson  <rth@redhat.com>
374         * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
375         (Gcc_backend::static_chain_variable): New method.
377 2015-01-09  Ian Lance Taylor  <iant@google.com>
379         * config-lang.in (lang_dirs): Define.
381 2015-01-09  Michael Collison  <michael.collison@linaro.org>
383         * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
384         input.h, alias.h, symtab.h, options.h, fold-const.h,
385         wide-int.h, and inchash.h due to flattening of tree.h.
386         * go-lang.c: Ditto.
387         * go-backend.c: Ditto.
389 2015-01-07  Chris Manghane  <cmang@google.com>
391         PR go/61204
392         * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
393         zero-sized variable.
395 2015-01-06  Chris Manghane  <cmang@google.com>
397         * go-gcc.cc (Gcc_backend::constructor_expression): Don't
398         initialize zero-sized fields, just evaluate the values for side
399         effects.
401 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
403         Update copyright years.
405         * gccgo.texi: Bump @copyrights-go year.
407 2014-12-19  Chris Manghane  <cmang@google.com>
409         * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
410         construct arrays of zero-sized values.
412 2014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
414         * go-lang.c: Remove redundant enum from machine_mode.
416 2014-10-28  Andrew MacLeod  <amacleod@redhat.com>
418         * go-gcc.cc: Adjust include files.
420 2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
422         * go-gcc.cc: Adjust include files.
423         * go-lang.c: Ditto.
425 2014-10-23  Ian Lance Taylor  <iant@google.com>
427         * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
428         mpc_t parameter instead of two mpfr_t parameters.
430 2014-09-15  Jakub Jelinek  <jakub@redhat.com>
432         * Make-lang.in (check_go_parallelize): Change to just an upper bound
433         number.
435 2014-09-03  Chris Manghane  <cmang@google.com>
437         * go-gcc.cc (Gcc_backend::implicit_variable): Remove init
438         parameter.  Add is_hidden parameter.
439         (Gcc_backend::implicit_variable_set_init): New method.
440         (Gcc_backend::implicit_variable_reference): New method.
442 2014-08-08  Ian Lance Taylor  <iant@google.com>
444         * go-gcc.cc (Gcc_backend::compound_statement): Don't return
445         NULL_TREE.
447 2014-07-24  Uros Bizjak  <ubizjak@gmail.com>
449         * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
450         symtab_get_node to symtab_node::get.
452 2014-06-13  Ian Lance Taylor  <iant@google.com>
454         PR go/61496
455         * gospec.c (lang_specific_driver): On Solaris, when not using GNU
456         ld, add -t option to avoid warning about common symbol changing
457         size.
459 2014-06-10  Jan Hubicka  <hubicka@ucw.cz>
461         * go-gcc.cc (Gcc_backend::global_variable_set_init): Use
462         symtab_get_node(var_decl)->implicit_section.
464 2014-06-07  Jan Hubicka  <hubicka@ucw.cz>
466         * go-gcc.cc (global_variable_set_init): Use
467         set_decl_section_name.
469 2014-06-04  Ian Lance Taylor  <iant@google.com>
471         * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
472         alignment parameters.  Permit init parameter to be NULL.
474 2014-06-02  Andrew MacLeod  <amacleod@redhat.com>
476         * go-gcc.cc: Include builtins.h.
478 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
480         * go-lang.c (struct GTY): Don't use variable_size gty attribute.
482 2014-05-06  Chris Manghane  <cmang@google.com>
484         * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
485         (Gcc_backend::boolean_constant_expression): New method.
486         (Gcc_backend::zero_expression): Use this->make_expression rather
487         than tree_to_expr.
488         (Gcc_backend::var_expression): Likewise.
489         (Gcc_backend::integer_constant_expression): Likewise.
490         (Gcc_backend::float_constant_expression): Likewise.
491         (Gcc_backend::complex_constant_expression): Likewise.
492         (Gcc_backend::struct_field_expression): Likewise.
493         (tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
494         (tree_to_function, tree_to_block): Remove functions.
495         (type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
496         (block_to_tree, var_to_tree, function_to_tree): Remove functions.
498 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
499             Mike Stump  <mikestump@comcast.net>
500             Richard Sandiford  <rdsandiford@googlemail.com>
502         * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
504 2014-05-06  Chris Manghane  <cmang@google.com>
506         * go-c.h (go_create_gogo): Update declaration to add
507         check_divide_zero and check_divide_overflow parameters.
508         * go-lang.c (go_langhook_init): Pass new arguments to
509         go_create_gogo.
511 2014-05-05  Chris Manghane  <cmang@google.com>
513         * go-gcc.cc (Gcc_backend::implicit_variable): Rename from
514         gc_root_variable.  Add name and is_constant parameters.
516 2014-05-05  Chris Manghane  <cmang@google.com>
518         * go-gcc.cc (Gcc_backend::indirect_expression): Add btype
519         parameter.
520         (Gcc_backend::temporary_variable): Check for erroneous function.
522 2014-04-30  Chris Manghane  <cmang@google.com>
524         * go-backend.c: #include "diagnostics.h".
525         (saw_errors): New function.
526         * go-c.h (saw_errors): Declare.
527         * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
529 2014-04-30  Chris Manghane  <cmang@google.com>
531         * go-lang.c (go_langhook_type_for_size): Do it here, rather than
532         calling into Go frontend.
533         (go_langhook_type_for_mode): Likewise.
534         * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
536 2014-04-30  Chris Manghane  <cmang@google.com>
538         * go-gcc.cc: #include "langhooks.h".
539         (Gcc_backend::Gcc_backend): Add constructor.
540         (Gcc_backend::lookup_function): New function.
541         (Gcc_backend::define_builtin): New private function.
542         (Gcc_backend::gcc_backend): Remove.
543         (go_get_backend): Use new to create new Gcc_backend.
545 2014-04-25  Chris Manghane  <cmang@google.com>
547         * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
548         (Gcc_backend::return_statement): Push and pop function.
549         (Gcc_backend::label): Likewise.
550         (Gcc_backend::function_defer_statement): Likewise.
551         (Gcc_backend::switch_statement): Add function parameter.
552         (Gcc_backend::block): Don't permit function to be NULL.
553         (Gcc_backend::temporary_variable): Change go_assert to
554         gcc_assert.
555         (Gcc_backend::gc_root_variable): New function.
556         (Gcc_backend::write_global_definitions): New function.
558 2014-04-22  Chris Manghane  <cmang@google.com>
560         * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
561         call to create_tmp_var.  Require that function be non-NULL.
563 2014-04-17  Chris Manghane  <cmang@google.com>
565         * go-gcc.cc (Gcc_backend::named_constant_expression): New
566         function.
568 2014-04-14  Chris Manghane  <cmang@google.com>
570         * go-gcc.cc: Include "convert.h".
571         (Gcc_backend::string_constant_expression): New function.
572         (Gcc_backend::real_part_expression): Likewise.
573         (Gcc_backend::imag_part_expression): Likewise.
574         (Gcc_backend::complex_expression): Likewise.
575         (Gcc_backend::constructor_expression): Likewise.
576         (Gcc_backend::array_constructor_expression): Likewise.
577         (Gcc_backend::pointer_offset_expression): Likewise.
578         (Gcc_backend::array_index_expression): Likewise.
579         (Gcc_backend::call_expression): Likewise.
580         (Gcc_backend::exception_handler_statement): Likewise.
581         (Gcc_backend::function_defer_statement): Likewise.
582         (Gcc_backend::function_set_parameters): Likewise.
583         (Gcc_backend::function_set_body): Likewise.
584         (Gcc_backend::convert_expression): Handle various type
585         conversions.
587 2014-03-03  Ian Lance Taylor  <iant@google.com>
589         * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
590         DECL_WEAK.
591         (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
592         DECL_WEAK.
594 2014-01-24  Chris Manghane  <cmang@google.com>
596         * go-gcc.cc (Gcc_backend::unary_expression): New function.
598 2014-01-16  Chris Manghane  <cmang@google.com>
600         * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
601         parameter.
602         (operator_to_tree_code): New static function.
603         (Gcc_backend::binary_expression): New function.
605 2014-01-14  Chris Manghane  <cmang@google.com>
607         * go-gcc.cc (Gcc_backend::compound_expression): New function.
608         (Gcc_backend::conditional_expression): New function.
610 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
612         Update copyright years
614 2014-01-02  Tobias Burnus  <burnus@net-b.de>
616         * gccgo.texi: Bump @copying's copyright year.
618 2013-12-16  Chris Manghane  <cmang@google.com>
620         * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
622 2013-12-11  Ian Lance Taylor  <iant@google.com>
624         * go-lang.c (go_langhook_post_options): Disable sibling calls by
625         default.
627 2013-12-10  Ian Lance Taylor  <iant@google.com>
629         * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
630         separately.
632 2013-12-05  Ian Lance Taylor  <iant@google.com>
634         Revert this change; no longer required.
635         2013-11-06  Ian Lance Taylor  <iant@google.com>
637         * go-lang.c (go_langhook_post_options): If
638         -fisolate-erroneous-paths was turned on by an optimization option,
639         turn it off.
641 2013-11-23  Ian Lance Taylor  <iant@google.com>
643         * go-gcc.cc (Gcc_backend::function_type): Add result_struct
644         parameter.
646 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
648         * go-gcc.cc: Add required include files from gimple.h.
649         * go-lang.c: Likewise
651 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
653         * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
654         tree_to_shwi throughout.
656 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
658         * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
659         tree_fits_shwi_p throughout.
661 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
663         * go-lang.c: Include only gimplify.h and gimple.h as needed.
665 2013-11-14  Diego Novillo  <dnovillo@google.com>
667         * go-backend.c: Include stor-layout.h.
668         * go-gcc.cc: Include stringpool.h.
669         Include stor-layout.h.
670         Include varasm.h.
671         * go-lang.c: Include stor-layout.h.
673 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
675         * go-lang.c: Include gimplify.h.
677 2013-11-06  Ian Lance Taylor  <iant@google.com>
679         * go-lang.c (go_langhook_post_options): If
680         -fisolate-erroneous-paths was turned on by an optimization option,
681         turn it off.
683 2013-10-14  Chris Manghane  <cmang@google.com>
685         * go-gcc.cc (Gcc_backend::address_expression): New function.
687 2013-10-11  Chris Manghane  <cmang@google.com>
689         * go-gcc.cc (Gcc_backend::function_code_expression): New
690         function.
692 2013-10-10  Chris Manghane  <cmang@google.com>
694         * go-gcc.cc (Gcc_backend::error_function): New function.
695         (Gcc_backend::function): New function.
696         (Gcc_backend::make_function): New function.
697         (function_to_tree): New function.
699 2013-10-04  Chris Manghane  <cmang@google.com>
701         * go-gcc.cc (Gcc_backend::convert_expression): New function.
703 2013-10-02  Chris Manghane  <cmang@google.com>
705         * go-gcc.cc: Include "real.h" and "realmpfr.h".
706         (Gcc_backend::integer_constant_expression): New function.
707         (Gcc_backend::float_constant_expression): New function.
708         (Gcc_backend::complex_constant_expression): New function.
710 2013-09-30  Chris Manghane  <cmang@google.com>
712         * go-gcc.cc (Gcc_backend::error_expression): New function.
713         (Gcc_backend::var_expression): New function.
714         (Gcc_backend::indirect_expression): New function.
716 2013-09-25  Tom Tromey  <tromey@redhat.com>
718         * Make-lang.in (gospec.o): Remove.
719         (CFLAGS-go/gospec.o): New variable.
720         (GCCGO_OBJS): Update to use go/gospec.o.
721         (go_OBJS): Define.
722         (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
723         (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
724         (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
725         (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
726         (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
727         (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
728         (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
729         (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
730         (go/unsafe.o): Remove.
731         (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
732         (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
734 2013-09-25  Tom Tromey  <tromey@redhat.com>
736         * Make-lang.in (gospec.o): Don't use subshell.
738 2013-08-28  Ian Lance Taylor  <iant@google.com>
740         * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
741         the struct is not hidden.
742         (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
744 2013-08-06  Ian Lance Taylor  <iant@google.com>
746         * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
747         compute_reloc_for_constant.
749 2013-08-02  Ian Lance Taylor  <iant@google.com>
751         * go-gcc.cc (immutable_struct_set_init): Always call
752         resolve_unique_section.
754 2013-07-24  Ian Lance Taylor  <iant@google.com>
756         * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
757         fields, recreate those fields with the first one with a non-zero
758         size.
760 2013-07-23  Ian Lance Taylor  <iant@google.com>
762         * go-backend.c: Don't #include "rtl.h".
763         (go_imported_unsafe): Don't call init_varasm_once.
764         * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
766 2013-07-23  Ian Lance Taylor  <iant@google.com>
768         * go-lang.c: Don't #include "except.h".
769         * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
771 2013-06-18  Ian Lance Taylor  <iant@google.com>
773         * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
774         parameter.
775         (Gcc_backend::immutable_struct_set_init): Likewise.
777 2013-05-16  Jason Merrill  <jason@redhat.com>
779         * Make-lang.in (go1$(exeext)): Use link mutex.
781 2013-01-16  Shenghou Ma  <minux.ma@gmail.com>
783         * gospec.c: pass -u pthread_create to linker when static linking.
785 2012-12-21  Ian Lance Taylor  <iant@google.com>
787         PR bootstrap/54659
788         * go-system.h: Don't include <cstdio>.
790 2012-12-18  Ian Lance Taylor  <iant@google.com>
792         PR go/55201
793         * gospec.c: Revert last patch.
795 2012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
797         PR go/55201
798         * gospec.c (LIBATOMIC): Define.
799         (LIBATOMIC_PROFILE): Define.
800         (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
802 2012-11-29  Ian Lance Taylor  <iant@google.com>
804         * go-gcc.cc: Include "output.h".
805         (global_variable): Add is_unique_section parameter.
806         (global_variable_set_init): Adjust unique section if necessary.
807         * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
809 2012-11-17  Diego Novillo  <dnovillo@google.com>
811         Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
813         * go-lang.c: Use new vec API in vec.h.
815 2012-11-16  Ian Lance Taylor  <iant@google.com>
817         * Make-lang.in (gccgo$(exeext)): Add + at start of command.
818         (go1$(exeext)): Likewise.
820 2012-10-30  Ian Lance Taylor  <iant@google.com>
822         * lang.opt (-fgo-relative-import-path): New option.
823         * go-lang.c (go_relative_import_path): New static variable.
824         (go_langhook_init): Pass go_relative_import_path to
825         go_create_gogo.
826         (go_langhook_handle_option): Handle -fgo-relative-import-path.
827         * go-c.h (go_create_gogo): Update declaration.
828         * gccgo.texi (Invoking gccgo): Document
829         -fgo-relative-import-path.
831 2012-09-17  Ian Lance Taylor  <iant@google.com>
833         * config-lang.in (target_libs): Add target-libbacktrace.
835 2012-09-16  Ian Lance Taylor  <iant@google.com>
837         * Make-lang.in (go/gogo.o): Depend on filenames.h.
839 2012-08-14   Diego Novillo  <dnovillo@google.com>
841         Merge from cxx-conversion branch.  Configury.
843         * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
844         * go-gcc.cc: Likewise.
845         * go-system.h: Likewise.
847 2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
849         * go-lang.c (lang_decl): Add variable_size GTY option.
851 2012-05-09  Ian Lance Taylor  <iant@google.com>
853         * lang.opt: Add -fgo-pkgpath.
854         * go-lang.c (go_pkgpath): New static variable.
855         (go_prefix): New static variable.
856         (go_langhook_init): Pass go_pkgpath and go_prefix to
857         go_create_gogo.
858         (go_langhook_handle_option): Handle -fgo-pkgpath.  Change
859         -fgo-prefix handling to just set go_prefix.
860         * go-c.h (go_set_prefix): Don't declare.
861         (go_create_gogo): Add pkgpath and prefix to declaration.
862         * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
863         to pkgpath.  Don't include the package name in the asm name.
864         * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
865         docs for -fgo-prefix.
867 2012-04-23  Ian Lance Taylor  <iant@google.com>
869         * go-lang.c (go_langhook_init): Set MPFR precision to 256.
871 2012-04-20  Ian Lance Taylor  <iant@google.com>
873         * lang.opt: Add -fgo-check-divide-zero and
874         -fgo-check-divide-overflow.
875         * gccgo.texi (Invoking gccgo): Document new options.
877 2012-04-18  Steven Bosscher  <steven@gcc.gnu.org>
879         * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
880         with NULL_TREE type instead of void_type_node.
882 2012-03-09  Ian Lance Taylor  <iant@google.com>
884         * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
885         to the lhs type if necessary.
887 2012-03-08  Ian Lance Taylor  <iant@google.com>
889         * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
890         zero-sized variable.
891         (go_non_zero_struct): New global variable.
892         (Gcc_backend::non_zero_size_type): New function.
893         (Gcc_backend::global_variable): Don't build an assignment for a
894         zero-sized value.
895         * go-c.h (go_non_zero_struct): Declare.
896         * config-lang.in (gtfiles): Add go-c.h.
898 2012-02-29  Ian Lance Taylor  <iant@google.com>
900         * go-gcc.cc (class Gcc_tree): Add set_tree method.
901         (set_placeholder_pointer_type): When setting to a pointer to
902         error, set to error_mark_node.
904 2012-02-23  Richard Guenther  <rguenther@suse.de>
906         * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
907         build_distinct_type_copy.
909 2012-02-17  Ian Lance Taylor  <iant@google.com>
911         * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
913 2012-02-17  Ian Lance Taylor  <iant@google.com>
915         * gospec.c (lang_specific_driver): If linking, and no -o option
916         was used, add one.
918 2012-02-14  Ian Lance Taylor  <iant@google.com>
920         PR go/48411
921         * Make-lang.in (gccgo-cross$(exeext)): New target.
922         (go.all.cross): Depend on gccgo-cross$(exeext) instead of
923         gccgo$(exeext).
924         (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
925         gccgo-cross$(exeext) does not exist.
927 2012-02-07  Ian Lance Taylor  <iant@google.com>
929         * gccgo.texi (Function Names): Document //extern instead of
930         __asm__.
932 2012-02-01  Jakub Jelinek  <jakub@redhat.com>
934         PR target/52079
935         * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
936         return build_nonstandard_integer_type result if possible.
938 2012-01-21  Ian Lance Taylor  <iant@google.com>
940         * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
941         (Gcc_backend::type_alignment): Likewise.
942         (Gcc_backend::type_field_alignment): Likewise.
943         (Gcc_backend::type_field_offset): Likewise.
945 2012-01-20  Ian Lance Taylor  <iant@google.com>
947         * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
948         be empty.
949         (Gcc_backend::set_placeholder_struct_type): Likewise.
951 2012-01-17  Ian Lance Taylor  <iant@google.com>
953         * gospec.c (lang_specific_driver): If we see -S without -o, add -o
954         BASE.s rather than -o BASE.o.
956 2012-01-11  Ian Lance Taylor  <iant@google.com>
958         * go-lang.c (go_langhook_init): Initialize void_list_node before
959         calling go_create_gogo.
961 2012-01-10  Ian Lance Taylor  <iant@google.com>
963         * go-gcc.cc (Gcc_backend::type_size): New function.
964         (Gcc_backend::type_alignment): New function.
965         (Gcc_backend::type_field_alignment): New function.
966         (Gcc_backend::type_field_offset): New function.
967         * go-backend.c (go_type_alignment): Remove.
968         * go-c.h (go_type_alignment): Don't declare.
970 2011-12-27  Ian Lance Taylor  <iant@google.com>
972         * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
973         build_distinct_type_copy rather than build_variant_type_copy.
974         (Gcc_backend::set_placeholder_array_type): Likewise.
975         (Gcc_backend::named_type): Add special handling for builtin
976         basic types.
978 2011-12-22  Ian Lance Taylor  <iant@google.com>
980         * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
981         for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
982         (Gcc_backend::set_placeholder_struct_type): Likewise.
983         (Gcc_backend::set_placeholder_array_type): Likewise.
984         (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
986 2011-12-13  Ian Lance Taylor  <iant@google.com>
988         * go-backend.c: #include "simple-object.h" and "intl.h".
989         (GO_EXPORT_SEGMENT_NAME): Define if not defined.
990         (GO_EXPORT_SECTION_NAME): Likewise.
991         (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
992         (go_read_export_data): New function.
993         * go-c.h (go_read_export_data): Declare.
995 2011-11-29  Sanjoy Das  <thedigitalangel@gmail.com>
996             Ian Lance Taylor  <iant@google.com>
998         * go-location.h: New file.
999         * go-linemap.cc: New file.
1000         * go-gcc.cc: Change all uses of source_location to Location.
1001         * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1002         (GO_LINEMAP_H): New variable.
1003         (GO_LEX_H): Use $(GO_LINEMAP_H).
1004         (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1005         (go/go-linemap.o): New target.
1007 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1009         * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1011 2011-08-24  Roberto Lublinerman  <rluble@gmail.com>
1013         * lang.opt: Add fgo-optimize-.
1014         * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1015         * go-c.h (go_enable_optimize): Declare.
1016         * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1017         (GO_EXPORT_H): Define.
1018         (GO_IMPORT_H): Add $(GO_EXPORT_H).
1019         (GO_AST_DUMP_H): Define.
1020         (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1021         (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1022         (go/types.o): Likewise.
1023         (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1024         (go/go-optimize.o): New target.
1026 2011-08-24  Joseph Myers  <joseph@codesourcery.com>
1028         * Make-lang.in (CFLAGS-go/go-lang.o): New.
1029         (go/go-lang.o): Remove explicit compilation rule.
1031 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1033         * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1035 2011-08-02  Roberto Lublinerman  <rluble@gmail.com>
1037         * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1038         (go/ast-dump.o): New target.
1039         (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1040         (go/statements.o): Likewise.
1042 2011-07-06  Richard Guenther  <rguenther@suse.de>
1044         * go-lang.c (go_langhook_init):
1045         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1047 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1049         * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1050         dependencies.
1051         * go-backend.c: Include common/common-target.h.
1052         (go_write_export_data): Use targetm_common.have_named_sections.
1053         * go-lang.c: Include common/common-target.h.
1054         (go_langhook_init_options_struct): Use
1055         targetm_common.supports_split_stack.
1057 2011-06-13  Ian Lance Taylor  <iant@google.com>
1059         * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1061 2011-06-10  Ian Lance Taylor  <iant@google.com>
1063         * go-gcc.cc: Include "toplev.h".
1064         (Gcc_backend::immutable_struct): New function.
1065         (Gcc_backend::immutable_struct_set_init): New function.
1066         (Gcc_backend::immutable_struct_reference): New function.
1067         * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1069 2011-06-09  Ian Lance Taylor  <iant@google.com>
1071         * go-gcc.cc (Gcc_backend::zero_expression): New function.
1073 2011-06-07  Richard Guenther  <rguenther@suse.de>
1075         * go-lang.c (go_langhook_init): Do not set
1076         size_type_node or call set_sizetype.
1078 2011-05-27  Ian Lance Taylor  <iant@google.com>
1080         * go-backend.c: Include "output.h".
1081         (go_write_export_data): New function.
1082         * go-c.h (go_write_export_data): Declare.
1083         * Make-lang.in (go/go-backend.o): Depend on output.h.
1084         (go/export.o): Depend on $(GO_C_H).  Do not depend on
1085         $(MACHMODE_H), output.h, or $(TARGET_H).
1087 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
1089         * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1090         (gccgo$(exeext)): Use libcommon-target.a.
1092 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
1094         * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1096 2011-05-13  Ian Lance Taylor  <iant@google.com>
1098         * go-gcc.cc (Gcc_backend::function_type): When building a struct
1099         for multiple results, check that all fields types have a size.
1100         (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1102 2011-05-12  Ian Lance Taylor  <iant@google.com>
1104         * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1105         parameter.
1106         (Gcc_backend::parameter_variable): Likewise.
1108 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
1110         * go-lang.c (global_bindings_p): Return bool and simplify.
1112 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1114         * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1116 2011-05-04  Ian Lance Taylor  <iant@google.com>
1118         * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1119         (Gcc_backend::fill_in_struct): New function.
1120         (Gcc_backend::array_type): Implement.
1121         (Gcc_backend::fill_in_array): New function.
1122         (Gcc_backend::placeholder_pointer_type): New function.
1123         (Gcc_backend::set_placeholder_pointer_type): New function.
1124         (Gcc_backend::set_placeholder_function_type): New function.
1125         (Gcc_backend::placeholder_struct_type): New function.
1126         (Gcc_backend::set_placeholder_struct_type): New function.
1127         (Gcc_backend::placeholder_array_type): New function.
1128         (Gcc_backend::set_placeholder_array_type): New function.
1129         (Gcc_backend::named_type): New function.
1130         (Gcc_backend::circular_pointer_type): New function.
1131         (Gcc_backend::is_circular_pointer_type): New function.
1133 2011-04-26  Ian Lance Taylor  <iant@google.com>
1135         * go-gcc.cc (Gcc_backend::struct_type): Implement.
1137 2011-04-25  Ian Lance Taylor  <iant@google.com>
1139         * go-gcc.cc (Gcc_backend::error_type): Implement.
1140         (Gcc_backend::string_type): Remove.
1141         (Gcc_backend::function_type): Change signature and implement.
1142         (Gcc_backend::struct_type): Change signature.
1143         (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1144         (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1145         (Gcc_backend::pointer_type): Check for error.
1146         * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1148 2011-04-25  Evan Shaw  <edsrzf@gmail.com>
1150         * go-gcc.c (class Gcc_tree): Make get_tree const.
1151         (Gcc_backend::void_type): Implement.
1152         (Gcc_backend::bool_type): Implement.
1153         (Gcc_backend::integer_type): Implement.
1154         (Gcc_backend::float_type): Implement.
1155         (Gcc_backend::complex_type): New function.
1156         (Gcc_backend::pointer_type): New function.
1157         (Gcc_backend::make_type): New function.
1158         (type_to_tree): New function.
1160 2011-04-21  Ian Lance Taylor  <iant@google.com>
1162         * go-system.h (go_assert, go_unreachable): Define.
1164 2011-04-19  Ian Lance Taylor  <iant@google.com>
1166         * go-system.h: Include "intl.h".
1167         * Make-lang.in (GO_SYSTEM_H): Add intl.h.
1168         (go/statements.o): Remove dependencies on intl.h $(TREE_H)
1169         $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1171 2011-04-19  Ian Lance Taylor  <iant@google.com>
1173         * go-gcc.cc (Gcc_backend::temporary_variable): New function.
1175 2011-04-19  Ian Lance Taylor  <iant@google.com>
1177         * go-gcc.cc (class Bblock): Define.
1178         (Gcc_backend::if_statement): Change then_block and else_block to
1179         Bblock*.
1180         (Gcc_backend::block): New function.
1181         (Gcc_backend::block_add_statements): New function.
1182         (Gcc_backend::block_statement): New function.
1183         (tree_to_block, block_to_tree): New functions.
1185 2011-04-18  Ian Lance Taylor  <iant@google.com>
1187         * go-gcc.cc: Include "go-c.h".
1188         (class Bvariable): Define.
1189         (Gcc_backend::init_statement): New function.
1190         (Gcc_backend::global_variable): New function.
1191         (Gcc_backend::global_variable_set_init): New function.
1192         (Gcc_backend::local_variable): New function.
1193         (Gcc_backend::parameter_variable): New function.
1194         (tree_to_type, var_to_tree): New functions.
1195         * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1196         * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1198 2011-04-15  Ian Lance Taylor  <iant@google.com>
1200         * go-gcc.cc (Gcc_backend::compound_statement): New function.
1201         (Gcc_backend::assignment_statement): Use error_statement.
1202         (Gcc_backend::return_statement): Likewise.
1203         (Gcc_backend::if_statement): Likewise.
1204         (Gcc_backend::switch_statement): Likewise.
1205         (Gcc_backend::statement_list): Likewise.
1207 2011-04-14  Ian Lance Taylor  <iant@google.com>
1209         * go-gcc.cc (Gcc_backend::error_statement): New function.
1211 2011-04-13  Ian Lance Taylor  <iant@google.com>
1213         * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1215 2011-04-13  Ian Lance Taylor  <iant@google.com>
1217         * Make-lang.in (GO_OBJS): Add go/runtime.o.
1218         (GO_RUNTIME_H): New variable.
1219         (go/runtime.o): New target.
1220         (go/gogo.o): Depend on $(GO_RUNTIME_H).
1221         (go/statements.o): Likewise.
1223 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1225         * go-lang.c (union lang_tree_node): Check for TS_COMMON before
1226         calling TREE_CHAIN.
1228 2011-04-06  Ian Lance Taylor  <iant@google.com>
1230         * go-gcc.cc (if_statement): Use build3_loc.
1231         (Gcc_backend::switch_statement): New function.
1232         (Gcc_backend::statement_list): New function.
1234 2011-04-06  Ian Lance Taylor  <iant@google.com>
1236         * go-gcc.cc (Gcc_backend::if_statement): New function.
1237         (tree_to_stat): New function.
1238         (expr_to_tree): Renamed from expression_to_tree.
1239         (stat_to_tree): Renamed from statement_to_tree.
1241 2011-04-06  Ian Lance Taylor  <iant@google.com>
1243         * go-gcc.cc (Gcc_backend::expression_statement): New function.
1245 2011-04-04  Ian Lance Taylor  <iant@google.com>
1247         * go-gcc.c (class Blabel): Define.
1248         (Gcc_backend::make_expression): New function.
1249         (get_identifier_from_string): New function.
1250         (Gcc_backend::label): New function.
1251         (Gcc_backend::label_definition_statement): New function.
1252         (Gcc_backend::goto_statement): New function.
1253         (Gcc_backend::label_address): New function.
1254         (expression_to_tree): New function.
1255         * Make-lang.in (go/expressions.o): Depend on
1256         go/gofrontend/backend.h.
1257         (go/gogo.o): Likewise.
1259 2011-04-04  Ian Lance Taylor  <iant@google.com>
1261         * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1262         (class Bfunction): Define.
1263         (Gcc_backend::assignment_statement): Rename from assignment.
1264         Check for errors.
1265         (Gcc_backend::return_statement): New function.
1266         (tree_to_function): New function.
1267         * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1268         $(GIMPLE_H), and $(GO_GOGO_H).
1270 2011-04-03  Ian Lance Taylor  <iant@google.com>
1272         * go-gcc.cc: New file.
1273         * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1274         (go/go-gcc.o): New target.
1275         (go/go.o): Depend on go/gofrontend/backend.h.
1276         (go/statements.o): Likewise.
1278 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1280         * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1282 2011-02-08  Ian Lance Taylor  <iant@google.com>
1284         * go-lang.c (go_langhook_init_options_struct): Set
1285         frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.
1287 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1289         * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1290         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1292 2011-01-21  Ian Lance Taylor  <iant@google.com>
1294         * go-lang.c (go_langhook_init): Omit float_type_size when calling
1295         go_create_gogo.
1296         * go-c.h: Update declaration of go_create_gogo.
1298 2011-01-13  Ian Lance Taylor  <iant@google.com>
1300         * go-backend.c: Include "rtl.h" and "target.h".
1301         (go_imported_unsafe): New function.
1302         * go-c.h (go_imported_unsafe): Declare.
1303         * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
1304         (go/gogo-tree.o): Remove dependency on $(RTL_H).
1305         (go/unsafe.o): Depend on $(GO_C_H).
1307 2010-12-31  Joern Rennecke  <amylaar@spamcop.net>
1309         PR go/47113
1310         * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
1311         variable ‘field’ .
1313 2010-12-21  Ian Lance Taylor  <iant@google.com>
1315         * Make-lang.in (check-go): Remove.
1316         (lang_checks_parallelized): Add check-go.
1317         (check_go_parallelize): Set.
1319 2010-12-13  Ian Lance Taylor  <iant@google.com>
1321         * gospec.c (lang_specific_driver): Add a -o option if not linking
1322         and there is no -o option already.
1324 2010-12-07  Ian Lance Taylor  <iant@google.com>
1326         PR tree-optimization/46805
1327         PR tree-optimization/46833
1328         * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
1330 2010-12-06  Ian Lance Taylor  <iant@google.com>
1332         PR other/46789
1333         PR bootstrap/46812
1334         * go-lang.c (go_char_p): Define type and vectors.
1335         (go_search_dirs): New static variable.
1336         (go_langhook_handle_option): Use version and version/machine
1337         directories for -L.
1338         (go_langhook_post_options): Add non-specific -L paths.
1339         * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
1340         DEFAULT_TARGET_MACHINE when compiling.
1341         * gccgo.texi (Invoking gccgo): Only document -L for linking.
1342         (Import and Export): Don't mention -L for finding import files.
1344 2010-12-03  Ian Lance Taylor  <iant@google.com>
1346         PR bootstrap/46776
1347         * go-backend.c: New file.
1348         * go-c.h (go_type_alignment): Declare.
1349         (go_field_alignment, go_trampoline_info): Declare.
1350         * Make-lang.in (GO_OBJS): Add go/go-backend.o.
1351         (go/go-backend.o): New target.
1352         (go/go-lang.o): Make dependencies match source file.
1353         (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
1354         (go/gogo-tree.o): Don't depend on $(TM_H).
1356 2010-12-03  Ian Lance Taylor  <iant@google.com>
1358         * config-lang.in (build_by_default): Set to no.
1360 2010-12-02  Ian Lance Taylor  <iant@google.com>
1362         Go frontend added to gcc repository.
1364 Copyright (C) 2010-2017 Free Software Foundation, Inc.
1366 Copying and distribution of this file, with or without modification,
1367 are permitted in any medium without royalty provided the copyright
1368 notice and this notice are preserved.