Update ChangeLog and version files for release
[official-gcc.git] / gcc / go / ChangeLog
blobe27cef9a5b6dc9437cc1587817a8ceca352fa4fc
1 2017-05-02  Release Manager
3         * GCC 7.1.0 released.
5 2017-03-28  Than McIntosh  <thanm@google.com>
7         PR go/80226
8         * go-gcc.cc (Gcc_backend::return_statement): Check for
9         void_type_node when checking result size.
11 2017-02-20  Ian Lance Taylor  <iant@golang.org>
13         PR go/79642
14         * lang.opt (-fgo-relative-import-path): Change space to tab.
16 2017-02-07  Richard Biener  <rguenther@suse.de>
18         PR tree-optimization/79256
19         PR middle-end/79278
20         * go-backend.c (go_field_alignment): Adjust.
22 2017-01-11  Than McIntosh  <thanm@google.com>
24         * go-gcc.cc (conditional_expression): Add Bfunction parameter.
26 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
28         Update copyright years.
30         * gccgo.texi: Bump @copyrights-go year.
32 2016-12-16  Than McIntosh  <thanm@google.com>
34         * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
35         parameter.
36         (Gcc_backend::init_statement): Likewise.
37         (Gcc_backend::assignment_statement): Likewise.
38         (Gcc_backend::if_statement): Likewise.
40 2016-12-06  Than McIntosh  <thanm@google.com>
42         * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
43         parameter.
45 2016-11-22  Than McIntosh  <thanm@google.com>
47         * go-gcc.cc (char_needs_encoding): Remove.
48         (needs_encoding, fetch_utf8_char, encode_id): Remove.
49         (Gcc_backend::global_variable): Add asm_name parameter.  Don't
50         compute asm_name here.
51         (Gcc_backend::implicit_variable): Likewise.
52         (Gcc_backend::implicit_variable_reference): Likewise.
53         (Gcc_backend::immutable_struct): Likewise.
54         (Gcc_backend::immutable_struct_reference): Likewise.
55         * Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
57 2016-11-22  Ian Lance Taylor  <iant@google.com>
59         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
60         __builtin_frame_address.
62 2016-10-25  David Malcolm  <dmalcolm@redhat.com>
64         * go-lang.c (go_langhook_type_for_mode): Remove redundant cast
65         from result of GET_MODE_CLASS.  Minor formatting fixes.
67 2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
69         * go-backend.c: Include memmodel.h.
71 2016-10-10  Than McIntosh  <thanm@google.com>
73         * go-gcc.h: New file.
74         * go-c.h (struct go_create_gogo_args): Add backend and linemap
75         fields.
76         * go-lang.c: Include "go-gcc.h".
77         (go_langhook_init): Set linemap and backend fields of args.
78         * go-gcc.cc: Include "go-gcc.h".
79         * go-linemap.cc: Include "go-gcc.h".
81 2016-10-10  Than McIntosh  <thanm@google.com>
83         * go-linemap.cc (Gcc_linemap::location_line): New method.
85 2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
87         * config-lang.in (lang_requires_boot_languages): Delete.
89 2016-10-06  Chris Manghane  <cmang@google.com>
91         * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
92         returned memory.
94 2016-09-27  Than McIntosh  <thanm@google.com>
96         * go-linemap.cc (Gcc_linemap::to_string): New method.
98 2016-09-23  Than McIntosh  <thanm@google.com>
100         * go-gcc-diagnostics.cc: New file.
101         * go-location.h (Location): Remove operator source_location.  Add
102         operator==.
103         * go-system.h: #include <sstream>.
104         * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
105         go/go-gcc-diagnostics.o.
106         (CFLAGS-go/go-gcc-diagnostics.o): New variable.
108 2016-09-23  Chris Manghane  <cmang@google.com>
110         PR go/77701
111         * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
112         to pass arguments in the correct order.
114 2016-09-22  Ian Lance Taylor  <iant@golang.org>
116         * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
117         __builtin_frame_address.
119 2016-09-11  Ian Lance Taylor  <iant@golang.org>
121         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
122         ctz, ctzll, bswap32, bswap64.
124 2016-09-10  Ian Lance Taylor  <iant@golang.org>
126         * go-backend.c (go_trampoline_info): Remove.
127         * go-c.h (go_trampoline_info): Don't declare.
129 2016-09-09  Than McIntosh  <thanm@google.com>
131         * go-sha1.cc: New file.
132         * Make-lang.in (GO_OBJS): Add go/go-sha1.o.
133         (CFLAGS-go/go-sha1.o): New variable.
135 2016-08-29  Ian Lance Taylor  <iant@google.com>
137         * lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
138         * go-c.h (struct go_create_gogo_args): Define.
139         (go_create_gogo): Change declaration to take struct pointer.
140         * go-lang.c (go_c_header): New static variable.
141         (go_langhook_init): Update call to go_create_gogo.
142         * gccgo.texi (Invoking gccgo): Document -fgo-c-header and
143         -fgo-compiling-runtime.
145 2016-08-09  Ian Lance Taylor  <iant@google.com>
147         * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
148         -fgo-debug-escae.
149         (Compiler Directives): New chapter.
150         (Function Names): Describe using //go:linkname.  Suggest using
151         -fgo-pkgpath rather than -fgo-prefix.
153 2016-08-08  Ian Lance Taylor  <iant@google.com>
155         PR go/72814
156         * go-gcc.cc (Gcc_backend::function_type): If the return type is
157         zero bytes, treat the function as returning void.
158         (return_statement): If the return type is zero bytes, don't
159         actually return any values.
161 2016-08-05  Ian Lance Taylor  <iant@google.com>
163         PR go/72812
164         * go-gcc.cc (char_needs_encoding): New static function.
165         (needs_encoding, fetch_utf8_char): New static functions.
166         (encode_id): New static function.
167         (Gcc_backend::global_variable): Set asm name if the name is not
168         simple ASCII.
169         (Gcc_backend::implicit_variable): Likewise.
170         (Gcc_backend::implicit_variable_reference): Likewise.
171         (Gcc_backend::immutable_struct): Likewise.
172         (Gcc_backend::immutable_struct_reference): Likewise.
173         (Gcc_backend::function): Likewise.
175 2016-08-02  Chris Manghane  <cmang@google.com>
177         * lang.opt: Add -fgo-debug-escape option.
178         * go-c.h (go_create_gogo): Add debug_escape_level parameter.
179         * go-lang.c (go_langhook_init): Pass go_debug_escape_level to
180         go_create_gogo.
182 2016-05-06  Chris Manghane  <cmang@google.com>
184         * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
185         new escape.cc).
187 2016-04-29  Chris Manghane  <cmang@google.com>
189         * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
191 2016-04-18  Michael Matz  <matz@suse.de>
193         * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
195 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
197         * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
198         neighbour -> neighbor.
199         * gccgo.texi: Likewise.
201 2016-01-27  Ian Lance Taylor  <iant@google.com>
203         * go-lang.c (go_langhook_init_options_struct): Default to
204         -fkeep-gc-roots-live.
206 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
208         Update copyright years.
210         * gccgo.texi: Bump @copyrights-go year.
212 2015-12-21  Ian Lance Taylor  <iant@google.com>
214         * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.  Add
215         t_ and orig_type_ fields.  Add new two parameter constructor.  Add
216         get_tree and get_decl methods.
217         (Gcc_backend::var_expression): Pass location to var get_tree.
218         (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR.  Use
219         two parameter constructor for Bvariable.
220         (Gcc_backend::global_variable_set_init): Don't remove
221         VIEW_CONVERT_EXPR.  Use var get_decl, not get_tree.
222         (Gcc_backend::write_global_definitions): Likewise.
223         (Gcc_backend::init_statement): Call var get_decl, not get_tree.
224         (Gcc_backend::block): Likewise.
225         (Gcc_backend::implicit_variable_set_init): Likewise.
226         (Gcc_backend::immutable_struct_set_init): Likewise.
227         (Gcc_backend::function_set_parameters): Likewise.
229 2015-12-21  Ian Lance Taylor  <iant@google.com>
231         * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
232         add a VIEW_CONVERT_EXPR to the tree.
233         (Gcc_backend::global_variable_set_init): Remove any
234         VIEW_CONVERT_EXPR.
235         (Gcc_backend::write_global_definitions): Likewise.
237 2015-11-30  Ian Lance Taylor  <iant@google.com>
239         PR go/68477
240         * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
241         TYPE_STRING_FLAG on a variant type.
243 2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
245         * go-backend.c: Remove unused header files.
246         * go-gcc.cc: Likewise.
247         * go-lang.c: Likewise.
248         * gospec.c: Likewise.
250 2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
252         * go-backend.c: Reorder #include's and remove duplicates.
253         * go-lang.c: Likewise.
255 2015-10-20  Alan Modra  <amodra@gmail.com>
257         PR go/66870
258         * gospec.c (saw_opt_m32): Rename to..
259         (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
260         Update uses.
261         (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
263 2015-10-01  Ian Lance Taylor  <iant@google.com>
265         PR go/66870
266         * gospec.c (lang_specific_driver): Only look for OPT_m32 if
267         TARGET_CAN_SPLIT_STACK_64BIT is defined.
269 2015-10-01  Lynn Boger  <laboger@linux.vnet.ibm.com>
271         PR target/66870
272         * gospec.c (lang_specific_driver): Set appropriate split stack
273         options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
275 2015-09-10  Chris Manghane  <cmang@google.com>
277         * go-gcc.cc (Gcc_backend::type_size): Return -1 for
278         unrepresentable size.
280 2015-08-24  Marek Polacek  <polacek@redhat.com>
282         PR tree-optimization/67284
283         * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
284         Set TREE_THIS_VOLATILE.
285         (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
286         Pass false to the rest of define_builtin calls.
288 2015-07-31  Andreas Schwab  <schwab@linux-m68k.org>
290         * go-lang.c (go_langhook_init_options_struct): Don't set
291         x_flag_split_stack.
292         (go_langhook_post_options): Set it here instead.
294 2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
296         * gofrontend/backend.h: Fix double word typos.
297         * gofrontend/expressions.cc: Same.
298         * gospec.c: Same.
300 2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
302         * go-backend.c: Adjust includes.
303         * go-gcc.cc: Likewise.
304         * go-lang.c: Likewise.
306 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
308         * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
310 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
312         * go-backend.c: Do not include input.h, line-map.h or is-a.h.
313         * go-gcc.cc: Likewise.
314         * go-lang.c: Likewise.
315         * go-system.h: Likewise.
317 2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
319         * go-backend.c : Adjust include files.
320         * go-gcc.cc : Likewise.
321         * go-lang.c : Likewise.
323 2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
325         * go-gcc.cc (write_global_definitions): Remove call to
326         finalize_compilation_unit.
327         Remove Go specific debug generation.
328         * go-lang.c (go_langhook_parse_file): Call go_write_globals.
329         (go_langhook_write_globals): Remove.
330         Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
332 2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
334         * go-backend.c: Adjust includes for restructured coretypes.h.
335         * go-c.h: Likewise.
336         * go-gcc.cc: Likewise.
337         * go-lang.c: Likewise.
339 2015-04-30  Chris Manghane  <cmang@google.com>
341         * go-gcc.cc (Gcc_backend::stack_allocation_expression): New
342         method.
344 2015-04-27  Jim Wilson  <jim.wilson@linaro.org>
346         * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
348 2015-04-17  Chris Manghane  <cmang@google.com>
350         * Make-lang.in (GO_OBJS): Add go/escape.o.
352 2015-02-02  Ian Lance Taylor  <iant@google.com>
354         PR go/64836
355         PR go/64838
356         * go-gcc.cc (Gcc_backend::type_size): Change return type to
357         int64_t.
358         (Gcc_backend::type_alignment): Likewise.
359         (Gcc_backend::type_field_alignment): Likewise.
360         (Gcc_backend::type_field_offset): Likewise.
361         (Gcc_backend::implicit_variable): Change alignment parameter type
362         to int64_t.
364 2015-01-23  Ian Lance Taylor  <iant@google.com>
366         PR go/63565
367         * gccgo.texi (Invoking gccgo): Mention that Go programs should not
368         be stripped.
370         * gccgo.texi (C Interoperability): Mention that people should use
371         cgo.
373 2015-01-23  Ian Lance Taylor  <iant@google.com>
375         PR go/64595
376         * go-lang.c (go_langhook_init_options_struct): Set default
377         debug_info_level.
378         (go_langhook_post_options): If debug_info_level is still the
379         default, make sure write_symbols is set.
380         * gccgo.texi (Invoking gccgo): Document that -g1 is the default.
382 2015-01-16  Richard Henderson  <rth@redhat.com>
384         * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
385         (Gcc_backend::static_chain_variable): New method.
387 2015-01-09  Ian Lance Taylor  <iant@google.com>
389         * config-lang.in (lang_dirs): Define.
391 2015-01-09  Michael Collison  <michael.collison@linaro.org>
393         * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
394         input.h, alias.h, symtab.h, options.h, fold-const.h,
395         wide-int.h, and inchash.h due to flattening of tree.h.
396         * go-lang.c: Ditto.
397         * go-backend.c: Ditto.
399 2015-01-07  Chris Manghane  <cmang@google.com>
401         PR go/61204
402         * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
403         zero-sized variable.
405 2015-01-06  Chris Manghane  <cmang@google.com>
407         * go-gcc.cc (Gcc_backend::constructor_expression): Don't
408         initialize zero-sized fields, just evaluate the values for side
409         effects.
411 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
413         Update copyright years.
415         * gccgo.texi: Bump @copyrights-go year.
417 2014-12-19  Chris Manghane  <cmang@google.com>
419         * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
420         construct arrays of zero-sized values.
422 2014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
424         * go-lang.c: Remove redundant enum from machine_mode.
426 2014-10-28  Andrew MacLeod  <amacleod@redhat.com>
428         * go-gcc.cc: Adjust include files.
430 2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
432         * go-gcc.cc: Adjust include files.
433         * go-lang.c: Ditto.
435 2014-10-23  Ian Lance Taylor  <iant@google.com>
437         * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
438         mpc_t parameter instead of two mpfr_t parameters.
440 2014-09-15  Jakub Jelinek  <jakub@redhat.com>
442         * Make-lang.in (check_go_parallelize): Change to just an upper bound
443         number.
445 2014-09-03  Chris Manghane  <cmang@google.com>
447         * go-gcc.cc (Gcc_backend::implicit_variable): Remove init
448         parameter.  Add is_hidden parameter.
449         (Gcc_backend::implicit_variable_set_init): New method.
450         (Gcc_backend::implicit_variable_reference): New method.
452 2014-08-08  Ian Lance Taylor  <iant@google.com>
454         * go-gcc.cc (Gcc_backend::compound_statement): Don't return
455         NULL_TREE.
457 2014-07-24  Uros Bizjak  <ubizjak@gmail.com>
459         * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
460         symtab_get_node to symtab_node::get.
462 2014-06-13  Ian Lance Taylor  <iant@google.com>
464         PR go/61496
465         * gospec.c (lang_specific_driver): On Solaris, when not using GNU
466         ld, add -t option to avoid warning about common symbol changing
467         size.
469 2014-06-10  Jan Hubicka  <hubicka@ucw.cz>
471         * go-gcc.cc (Gcc_backend::global_variable_set_init): Use
472         symtab_get_node(var_decl)->implicit_section.
474 2014-06-07  Jan Hubicka  <hubicka@ucw.cz>
476         * go-gcc.cc (global_variable_set_init): Use
477         set_decl_section_name.
479 2014-06-04  Ian Lance Taylor  <iant@google.com>
481         * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
482         alignment parameters.  Permit init parameter to be NULL.
484 2014-06-02  Andrew MacLeod  <amacleod@redhat.com>
486         * go-gcc.cc: Include builtins.h.
488 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
490         * go-lang.c (struct GTY): Don't use variable_size gty attribute.
492 2014-05-06  Chris Manghane  <cmang@google.com>
494         * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
495         (Gcc_backend::boolean_constant_expression): New method.
496         (Gcc_backend::zero_expression): Use this->make_expression rather
497         than tree_to_expr.
498         (Gcc_backend::var_expression): Likewise.
499         (Gcc_backend::integer_constant_expression): Likewise.
500         (Gcc_backend::float_constant_expression): Likewise.
501         (Gcc_backend::complex_constant_expression): Likewise.
502         (Gcc_backend::struct_field_expression): Likewise.
503         (tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
504         (tree_to_function, tree_to_block): Remove functions.
505         (type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
506         (block_to_tree, var_to_tree, function_to_tree): Remove functions.
508 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
509             Mike Stump  <mikestump@comcast.net>
510             Richard Sandiford  <rdsandiford@googlemail.com>
512         * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
514 2014-05-06  Chris Manghane  <cmang@google.com>
516         * go-c.h (go_create_gogo): Update declaration to add
517         check_divide_zero and check_divide_overflow parameters.
518         * go-lang.c (go_langhook_init): Pass new arguments to
519         go_create_gogo.
521 2014-05-05  Chris Manghane  <cmang@google.com>
523         * go-gcc.cc (Gcc_backend::implicit_variable): Rename from
524         gc_root_variable.  Add name and is_constant parameters.
526 2014-05-05  Chris Manghane  <cmang@google.com>
528         * go-gcc.cc (Gcc_backend::indirect_expression): Add btype
529         parameter.
530         (Gcc_backend::temporary_variable): Check for erroneous function.
532 2014-04-30  Chris Manghane  <cmang@google.com>
534         * go-backend.c: #include "diagnostics.h".
535         (saw_errors): New function.
536         * go-c.h (saw_errors): Declare.
537         * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
539 2014-04-30  Chris Manghane  <cmang@google.com>
541         * go-lang.c (go_langhook_type_for_size): Do it here, rather than
542         calling into Go frontend.
543         (go_langhook_type_for_mode): Likewise.
544         * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
546 2014-04-30  Chris Manghane  <cmang@google.com>
548         * go-gcc.cc: #include "langhooks.h".
549         (Gcc_backend::Gcc_backend): Add constructor.
550         (Gcc_backend::lookup_function): New function.
551         (Gcc_backend::define_builtin): New private function.
552         (Gcc_backend::gcc_backend): Remove.
553         (go_get_backend): Use new to create new Gcc_backend.
555 2014-04-25  Chris Manghane  <cmang@google.com>
557         * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
558         (Gcc_backend::return_statement): Push and pop function.
559         (Gcc_backend::label): Likewise.
560         (Gcc_backend::function_defer_statement): Likewise.
561         (Gcc_backend::switch_statement): Add function parameter.
562         (Gcc_backend::block): Don't permit function to be NULL.
563         (Gcc_backend::temporary_variable): Change go_assert to
564         gcc_assert.
565         (Gcc_backend::gc_root_variable): New function.
566         (Gcc_backend::write_global_definitions): New function.
568 2014-04-22  Chris Manghane  <cmang@google.com>
570         * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
571         call to create_tmp_var.  Require that function be non-NULL.
573 2014-04-17  Chris Manghane  <cmang@google.com>
575         * go-gcc.cc (Gcc_backend::named_constant_expression): New
576         function.
578 2014-04-14  Chris Manghane  <cmang@google.com>
580         * go-gcc.cc: Include "convert.h".
581         (Gcc_backend::string_constant_expression): New function.
582         (Gcc_backend::real_part_expression): Likewise.
583         (Gcc_backend::imag_part_expression): Likewise.
584         (Gcc_backend::complex_expression): Likewise.
585         (Gcc_backend::constructor_expression): Likewise.
586         (Gcc_backend::array_constructor_expression): Likewise.
587         (Gcc_backend::pointer_offset_expression): Likewise.
588         (Gcc_backend::array_index_expression): Likewise.
589         (Gcc_backend::call_expression): Likewise.
590         (Gcc_backend::exception_handler_statement): Likewise.
591         (Gcc_backend::function_defer_statement): Likewise.
592         (Gcc_backend::function_set_parameters): Likewise.
593         (Gcc_backend::function_set_body): Likewise.
594         (Gcc_backend::convert_expression): Handle various type
595         conversions.
597 2014-03-03  Ian Lance Taylor  <iant@google.com>
599         * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
600         DECL_WEAK.
601         (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
602         DECL_WEAK.
604 2014-01-24  Chris Manghane  <cmang@google.com>
606         * go-gcc.cc (Gcc_backend::unary_expression): New function.
608 2014-01-16  Chris Manghane  <cmang@google.com>
610         * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
611         parameter.
612         (operator_to_tree_code): New static function.
613         (Gcc_backend::binary_expression): New function.
615 2014-01-14  Chris Manghane  <cmang@google.com>
617         * go-gcc.cc (Gcc_backend::compound_expression): New function.
618         (Gcc_backend::conditional_expression): New function.
620 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
622         Update copyright years
624 2014-01-02  Tobias Burnus  <burnus@net-b.de>
626         * gccgo.texi: Bump @copying's copyright year.
628 2013-12-16  Chris Manghane  <cmang@google.com>
630         * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
632 2013-12-11  Ian Lance Taylor  <iant@google.com>
634         * go-lang.c (go_langhook_post_options): Disable sibling calls by
635         default.
637 2013-12-10  Ian Lance Taylor  <iant@google.com>
639         * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
640         separately.
642 2013-12-05  Ian Lance Taylor  <iant@google.com>
644         Revert this change; no longer required.
645         2013-11-06  Ian Lance Taylor  <iant@google.com>
647         * go-lang.c (go_langhook_post_options): If
648         -fisolate-erroneous-paths was turned on by an optimization option,
649         turn it off.
651 2013-11-23  Ian Lance Taylor  <iant@google.com>
653         * go-gcc.cc (Gcc_backend::function_type): Add result_struct
654         parameter.
656 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
658         * go-gcc.cc: Add required include files from gimple.h.
659         * go-lang.c: Likewise
661 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
663         * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
664         tree_to_shwi throughout.
666 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
668         * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
669         tree_fits_shwi_p throughout.
671 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
673         * go-lang.c: Include only gimplify.h and gimple.h as needed.
675 2013-11-14  Diego Novillo  <dnovillo@google.com>
677         * go-backend.c: Include stor-layout.h.
678         * go-gcc.cc: Include stringpool.h.
679         Include stor-layout.h.
680         Include varasm.h.
681         * go-lang.c: Include stor-layout.h.
683 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
685         * go-lang.c: Include gimplify.h.
687 2013-11-06  Ian Lance Taylor  <iant@google.com>
689         * go-lang.c (go_langhook_post_options): If
690         -fisolate-erroneous-paths was turned on by an optimization option,
691         turn it off.
693 2013-10-14  Chris Manghane  <cmang@google.com>
695         * go-gcc.cc (Gcc_backend::address_expression): New function.
697 2013-10-11  Chris Manghane  <cmang@google.com>
699         * go-gcc.cc (Gcc_backend::function_code_expression): New
700         function.
702 2013-10-10  Chris Manghane  <cmang@google.com>
704         * go-gcc.cc (Gcc_backend::error_function): New function.
705         (Gcc_backend::function): New function.
706         (Gcc_backend::make_function): New function.
707         (function_to_tree): New function.
709 2013-10-04  Chris Manghane  <cmang@google.com>
711         * go-gcc.cc (Gcc_backend::convert_expression): New function.
713 2013-10-02  Chris Manghane  <cmang@google.com>
715         * go-gcc.cc: Include "real.h" and "realmpfr.h".
716         (Gcc_backend::integer_constant_expression): New function.
717         (Gcc_backend::float_constant_expression): New function.
718         (Gcc_backend::complex_constant_expression): New function.
720 2013-09-30  Chris Manghane  <cmang@google.com>
722         * go-gcc.cc (Gcc_backend::error_expression): New function.
723         (Gcc_backend::var_expression): New function.
724         (Gcc_backend::indirect_expression): New function.
726 2013-09-25  Tom Tromey  <tromey@redhat.com>
728         * Make-lang.in (gospec.o): Remove.
729         (CFLAGS-go/gospec.o): New variable.
730         (GCCGO_OBJS): Update to use go/gospec.o.
731         (go_OBJS): Define.
732         (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
733         (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
734         (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
735         (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
736         (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
737         (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
738         (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
739         (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
740         (go/unsafe.o): Remove.
741         (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
742         (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
744 2013-09-25  Tom Tromey  <tromey@redhat.com>
746         * Make-lang.in (gospec.o): Don't use subshell.
748 2013-08-28  Ian Lance Taylor  <iant@google.com>
750         * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
751         the struct is not hidden.
752         (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
754 2013-08-06  Ian Lance Taylor  <iant@google.com>
756         * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
757         compute_reloc_for_constant.
759 2013-08-02  Ian Lance Taylor  <iant@google.com>
761         * go-gcc.cc (immutable_struct_set_init): Always call
762         resolve_unique_section.
764 2013-07-24  Ian Lance Taylor  <iant@google.com>
766         * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
767         fields, recreate those fields with the first one with a non-zero
768         size.
770 2013-07-23  Ian Lance Taylor  <iant@google.com>
772         * go-backend.c: Don't #include "rtl.h".
773         (go_imported_unsafe): Don't call init_varasm_once.
774         * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
776 2013-07-23  Ian Lance Taylor  <iant@google.com>
778         * go-lang.c: Don't #include "except.h".
779         * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
781 2013-06-18  Ian Lance Taylor  <iant@google.com>
783         * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
784         parameter.
785         (Gcc_backend::immutable_struct_set_init): Likewise.
787 2013-05-16  Jason Merrill  <jason@redhat.com>
789         * Make-lang.in (go1$(exeext)): Use link mutex.
791 2013-01-16  Shenghou Ma  <minux.ma@gmail.com>
793         * gospec.c: pass -u pthread_create to linker when static linking.
795 2012-12-21  Ian Lance Taylor  <iant@google.com>
797         PR bootstrap/54659
798         * go-system.h: Don't include <cstdio>.
800 2012-12-18  Ian Lance Taylor  <iant@google.com>
802         PR go/55201
803         * gospec.c: Revert last patch.
805 2012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
807         PR go/55201
808         * gospec.c (LIBATOMIC): Define.
809         (LIBATOMIC_PROFILE): Define.
810         (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
812 2012-11-29  Ian Lance Taylor  <iant@google.com>
814         * go-gcc.cc: Include "output.h".
815         (global_variable): Add is_unique_section parameter.
816         (global_variable_set_init): Adjust unique section if necessary.
817         * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
819 2012-11-17  Diego Novillo  <dnovillo@google.com>
821         Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
823         * go-lang.c: Use new vec API in vec.h.
825 2012-11-16  Ian Lance Taylor  <iant@google.com>
827         * Make-lang.in (gccgo$(exeext)): Add + at start of command.
828         (go1$(exeext)): Likewise.
830 2012-10-30  Ian Lance Taylor  <iant@google.com>
832         * lang.opt (-fgo-relative-import-path): New option.
833         * go-lang.c (go_relative_import_path): New static variable.
834         (go_langhook_init): Pass go_relative_import_path to
835         go_create_gogo.
836         (go_langhook_handle_option): Handle -fgo-relative-import-path.
837         * go-c.h (go_create_gogo): Update declaration.
838         * gccgo.texi (Invoking gccgo): Document
839         -fgo-relative-import-path.
841 2012-09-17  Ian Lance Taylor  <iant@google.com>
843         * config-lang.in (target_libs): Add target-libbacktrace.
845 2012-09-16  Ian Lance Taylor  <iant@google.com>
847         * Make-lang.in (go/gogo.o): Depend on filenames.h.
849 2012-08-14   Diego Novillo  <dnovillo@google.com>
851         Merge from cxx-conversion branch.  Configury.
853         * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
854         * go-gcc.cc: Likewise.
855         * go-system.h: Likewise.
857 2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
859         * go-lang.c (lang_decl): Add variable_size GTY option.
861 2012-05-09  Ian Lance Taylor  <iant@google.com>
863         * lang.opt: Add -fgo-pkgpath.
864         * go-lang.c (go_pkgpath): New static variable.
865         (go_prefix): New static variable.
866         (go_langhook_init): Pass go_pkgpath and go_prefix to
867         go_create_gogo.
868         (go_langhook_handle_option): Handle -fgo-pkgpath.  Change
869         -fgo-prefix handling to just set go_prefix.
870         * go-c.h (go_set_prefix): Don't declare.
871         (go_create_gogo): Add pkgpath and prefix to declaration.
872         * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
873         to pkgpath.  Don't include the package name in the asm name.
874         * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
875         docs for -fgo-prefix.
877 2012-04-23  Ian Lance Taylor  <iant@google.com>
879         * go-lang.c (go_langhook_init): Set MPFR precision to 256.
881 2012-04-20  Ian Lance Taylor  <iant@google.com>
883         * lang.opt: Add -fgo-check-divide-zero and
884         -fgo-check-divide-overflow.
885         * gccgo.texi (Invoking gccgo): Document new options.
887 2012-04-18  Steven Bosscher  <steven@gcc.gnu.org>
889         * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
890         with NULL_TREE type instead of void_type_node.
892 2012-03-09  Ian Lance Taylor  <iant@google.com>
894         * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
895         to the lhs type if necessary.
897 2012-03-08  Ian Lance Taylor  <iant@google.com>
899         * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
900         zero-sized variable.
901         (go_non_zero_struct): New global variable.
902         (Gcc_backend::non_zero_size_type): New function.
903         (Gcc_backend::global_variable): Don't build an assignment for a
904         zero-sized value.
905         * go-c.h (go_non_zero_struct): Declare.
906         * config-lang.in (gtfiles): Add go-c.h.
908 2012-02-29  Ian Lance Taylor  <iant@google.com>
910         * go-gcc.cc (class Gcc_tree): Add set_tree method.
911         (set_placeholder_pointer_type): When setting to a pointer to
912         error, set to error_mark_node.
914 2012-02-23  Richard Guenther  <rguenther@suse.de>
916         * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
917         build_distinct_type_copy.
919 2012-02-17  Ian Lance Taylor  <iant@google.com>
921         * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
923 2012-02-17  Ian Lance Taylor  <iant@google.com>
925         * gospec.c (lang_specific_driver): If linking, and no -o option
926         was used, add one.
928 2012-02-14  Ian Lance Taylor  <iant@google.com>
930         PR go/48411
931         * Make-lang.in (gccgo-cross$(exeext)): New target.
932         (go.all.cross): Depend on gccgo-cross$(exeext) instead of
933         gccgo$(exeext).
934         (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
935         gccgo-cross$(exeext) does not exist.
937 2012-02-07  Ian Lance Taylor  <iant@google.com>
939         * gccgo.texi (Function Names): Document //extern instead of
940         __asm__.
942 2012-02-01  Jakub Jelinek  <jakub@redhat.com>
944         PR target/52079
945         * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
946         return build_nonstandard_integer_type result if possible.
948 2012-01-21  Ian Lance Taylor  <iant@google.com>
950         * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
951         (Gcc_backend::type_alignment): Likewise.
952         (Gcc_backend::type_field_alignment): Likewise.
953         (Gcc_backend::type_field_offset): Likewise.
955 2012-01-20  Ian Lance Taylor  <iant@google.com>
957         * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
958         be empty.
959         (Gcc_backend::set_placeholder_struct_type): Likewise.
961 2012-01-17  Ian Lance Taylor  <iant@google.com>
963         * gospec.c (lang_specific_driver): If we see -S without -o, add -o
964         BASE.s rather than -o BASE.o.
966 2012-01-11  Ian Lance Taylor  <iant@google.com>
968         * go-lang.c (go_langhook_init): Initialize void_list_node before
969         calling go_create_gogo.
971 2012-01-10  Ian Lance Taylor  <iant@google.com>
973         * go-gcc.cc (Gcc_backend::type_size): New function.
974         (Gcc_backend::type_alignment): New function.
975         (Gcc_backend::type_field_alignment): New function.
976         (Gcc_backend::type_field_offset): New function.
977         * go-backend.c (go_type_alignment): Remove.
978         * go-c.h (go_type_alignment): Don't declare.
980 2011-12-27  Ian Lance Taylor  <iant@google.com>
982         * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
983         build_distinct_type_copy rather than build_variant_type_copy.
984         (Gcc_backend::set_placeholder_array_type): Likewise.
985         (Gcc_backend::named_type): Add special handling for builtin
986         basic types.
988 2011-12-22  Ian Lance Taylor  <iant@google.com>
990         * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
991         for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
992         (Gcc_backend::set_placeholder_struct_type): Likewise.
993         (Gcc_backend::set_placeholder_array_type): Likewise.
994         (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
996 2011-12-13  Ian Lance Taylor  <iant@google.com>
998         * go-backend.c: #include "simple-object.h" and "intl.h".
999         (GO_EXPORT_SEGMENT_NAME): Define if not defined.
1000         (GO_EXPORT_SECTION_NAME): Likewise.
1001         (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
1002         (go_read_export_data): New function.
1003         * go-c.h (go_read_export_data): Declare.
1005 2011-11-29  Sanjoy Das  <thedigitalangel@gmail.com>
1006             Ian Lance Taylor  <iant@google.com>
1008         * go-location.h: New file.
1009         * go-linemap.cc: New file.
1010         * go-gcc.cc: Change all uses of source_location to Location.
1011         * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1012         (GO_LINEMAP_H): New variable.
1013         (GO_LEX_H): Use $(GO_LINEMAP_H).
1014         (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1015         (go/go-linemap.o): New target.
1017 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1019         * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1021 2011-08-24  Roberto Lublinerman  <rluble@gmail.com>
1023         * lang.opt: Add fgo-optimize-.
1024         * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1025         * go-c.h (go_enable_optimize): Declare.
1026         * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1027         (GO_EXPORT_H): Define.
1028         (GO_IMPORT_H): Add $(GO_EXPORT_H).
1029         (GO_AST_DUMP_H): Define.
1030         (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1031         (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1032         (go/types.o): Likewise.
1033         (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1034         (go/go-optimize.o): New target.
1036 2011-08-24  Joseph Myers  <joseph@codesourcery.com>
1038         * Make-lang.in (CFLAGS-go/go-lang.o): New.
1039         (go/go-lang.o): Remove explicit compilation rule.
1041 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1043         * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1045 2011-08-02  Roberto Lublinerman  <rluble@gmail.com>
1047         * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1048         (go/ast-dump.o): New target.
1049         (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1050         (go/statements.o): Likewise.
1052 2011-07-06  Richard Guenther  <rguenther@suse.de>
1054         * go-lang.c (go_langhook_init):
1055         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1057 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1059         * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1060         dependencies.
1061         * go-backend.c: Include common/common-target.h.
1062         (go_write_export_data): Use targetm_common.have_named_sections.
1063         * go-lang.c: Include common/common-target.h.
1064         (go_langhook_init_options_struct): Use
1065         targetm_common.supports_split_stack.
1067 2011-06-13  Ian Lance Taylor  <iant@google.com>
1069         * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1071 2011-06-10  Ian Lance Taylor  <iant@google.com>
1073         * go-gcc.cc: Include "toplev.h".
1074         (Gcc_backend::immutable_struct): New function.
1075         (Gcc_backend::immutable_struct_set_init): New function.
1076         (Gcc_backend::immutable_struct_reference): New function.
1077         * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1079 2011-06-09  Ian Lance Taylor  <iant@google.com>
1081         * go-gcc.cc (Gcc_backend::zero_expression): New function.
1083 2011-06-07  Richard Guenther  <rguenther@suse.de>
1085         * go-lang.c (go_langhook_init): Do not set
1086         size_type_node or call set_sizetype.
1088 2011-05-27  Ian Lance Taylor  <iant@google.com>
1090         * go-backend.c: Include "output.h".
1091         (go_write_export_data): New function.
1092         * go-c.h (go_write_export_data): Declare.
1093         * Make-lang.in (go/go-backend.o): Depend on output.h.
1094         (go/export.o): Depend on $(GO_C_H).  Do not depend on
1095         $(MACHMODE_H), output.h, or $(TARGET_H).
1097 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
1099         * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1100         (gccgo$(exeext)): Use libcommon-target.a.
1102 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
1104         * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1106 2011-05-13  Ian Lance Taylor  <iant@google.com>
1108         * go-gcc.cc (Gcc_backend::function_type): When building a struct
1109         for multiple results, check that all fields types have a size.
1110         (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1112 2011-05-12  Ian Lance Taylor  <iant@google.com>
1114         * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1115         parameter.
1116         (Gcc_backend::parameter_variable): Likewise.
1118 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
1120         * go-lang.c (global_bindings_p): Return bool and simplify.
1122 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1124         * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1126 2011-05-04  Ian Lance Taylor  <iant@google.com>
1128         * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1129         (Gcc_backend::fill_in_struct): New function.
1130         (Gcc_backend::array_type): Implement.
1131         (Gcc_backend::fill_in_array): New function.
1132         (Gcc_backend::placeholder_pointer_type): New function.
1133         (Gcc_backend::set_placeholder_pointer_type): New function.
1134         (Gcc_backend::set_placeholder_function_type): New function.
1135         (Gcc_backend::placeholder_struct_type): New function.
1136         (Gcc_backend::set_placeholder_struct_type): New function.
1137         (Gcc_backend::placeholder_array_type): New function.
1138         (Gcc_backend::set_placeholder_array_type): New function.
1139         (Gcc_backend::named_type): New function.
1140         (Gcc_backend::circular_pointer_type): New function.
1141         (Gcc_backend::is_circular_pointer_type): New function.
1143 2011-04-26  Ian Lance Taylor  <iant@google.com>
1145         * go-gcc.cc (Gcc_backend::struct_type): Implement.
1147 2011-04-25  Ian Lance Taylor  <iant@google.com>
1149         * go-gcc.cc (Gcc_backend::error_type): Implement.
1150         (Gcc_backend::string_type): Remove.
1151         (Gcc_backend::function_type): Change signature and implement.
1152         (Gcc_backend::struct_type): Change signature.
1153         (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1154         (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1155         (Gcc_backend::pointer_type): Check for error.
1156         * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1158 2011-04-25  Evan Shaw  <edsrzf@gmail.com>
1160         * go-gcc.c (class Gcc_tree): Make get_tree const.
1161         (Gcc_backend::void_type): Implement.
1162         (Gcc_backend::bool_type): Implement.
1163         (Gcc_backend::integer_type): Implement.
1164         (Gcc_backend::float_type): Implement.
1165         (Gcc_backend::complex_type): New function.
1166         (Gcc_backend::pointer_type): New function.
1167         (Gcc_backend::make_type): New function.
1168         (type_to_tree): New function.
1170 2011-04-21  Ian Lance Taylor  <iant@google.com>
1172         * go-system.h (go_assert, go_unreachable): Define.
1174 2011-04-19  Ian Lance Taylor  <iant@google.com>
1176         * go-system.h: Include "intl.h".
1177         * Make-lang.in (GO_SYSTEM_H): Add intl.h.
1178         (go/statements.o): Remove dependencies on intl.h $(TREE_H)
1179         $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1181 2011-04-19  Ian Lance Taylor  <iant@google.com>
1183         * go-gcc.cc (Gcc_backend::temporary_variable): New function.
1185 2011-04-19  Ian Lance Taylor  <iant@google.com>
1187         * go-gcc.cc (class Bblock): Define.
1188         (Gcc_backend::if_statement): Change then_block and else_block to
1189         Bblock*.
1190         (Gcc_backend::block): New function.
1191         (Gcc_backend::block_add_statements): New function.
1192         (Gcc_backend::block_statement): New function.
1193         (tree_to_block, block_to_tree): New functions.
1195 2011-04-18  Ian Lance Taylor  <iant@google.com>
1197         * go-gcc.cc: Include "go-c.h".
1198         (class Bvariable): Define.
1199         (Gcc_backend::init_statement): New function.
1200         (Gcc_backend::global_variable): New function.
1201         (Gcc_backend::global_variable_set_init): New function.
1202         (Gcc_backend::local_variable): New function.
1203         (Gcc_backend::parameter_variable): New function.
1204         (tree_to_type, var_to_tree): New functions.
1205         * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1206         * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1208 2011-04-15  Ian Lance Taylor  <iant@google.com>
1210         * go-gcc.cc (Gcc_backend::compound_statement): New function.
1211         (Gcc_backend::assignment_statement): Use error_statement.
1212         (Gcc_backend::return_statement): Likewise.
1213         (Gcc_backend::if_statement): Likewise.
1214         (Gcc_backend::switch_statement): Likewise.
1215         (Gcc_backend::statement_list): Likewise.
1217 2011-04-14  Ian Lance Taylor  <iant@google.com>
1219         * go-gcc.cc (Gcc_backend::error_statement): New function.
1221 2011-04-13  Ian Lance Taylor  <iant@google.com>
1223         * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1225 2011-04-13  Ian Lance Taylor  <iant@google.com>
1227         * Make-lang.in (GO_OBJS): Add go/runtime.o.
1228         (GO_RUNTIME_H): New variable.
1229         (go/runtime.o): New target.
1230         (go/gogo.o): Depend on $(GO_RUNTIME_H).
1231         (go/statements.o): Likewise.
1233 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1235         * go-lang.c (union lang_tree_node): Check for TS_COMMON before
1236         calling TREE_CHAIN.
1238 2011-04-06  Ian Lance Taylor  <iant@google.com>
1240         * go-gcc.cc (if_statement): Use build3_loc.
1241         (Gcc_backend::switch_statement): New function.
1242         (Gcc_backend::statement_list): New function.
1244 2011-04-06  Ian Lance Taylor  <iant@google.com>
1246         * go-gcc.cc (Gcc_backend::if_statement): New function.
1247         (tree_to_stat): New function.
1248         (expr_to_tree): Renamed from expression_to_tree.
1249         (stat_to_tree): Renamed from statement_to_tree.
1251 2011-04-06  Ian Lance Taylor  <iant@google.com>
1253         * go-gcc.cc (Gcc_backend::expression_statement): New function.
1255 2011-04-04  Ian Lance Taylor  <iant@google.com>
1257         * go-gcc.c (class Blabel): Define.
1258         (Gcc_backend::make_expression): New function.
1259         (get_identifier_from_string): New function.
1260         (Gcc_backend::label): New function.
1261         (Gcc_backend::label_definition_statement): New function.
1262         (Gcc_backend::goto_statement): New function.
1263         (Gcc_backend::label_address): New function.
1264         (expression_to_tree): New function.
1265         * Make-lang.in (go/expressions.o): Depend on
1266         go/gofrontend/backend.h.
1267         (go/gogo.o): Likewise.
1269 2011-04-04  Ian Lance Taylor  <iant@google.com>
1271         * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1272         (class Bfunction): Define.
1273         (Gcc_backend::assignment_statement): Rename from assignment.
1274         Check for errors.
1275         (Gcc_backend::return_statement): New function.
1276         (tree_to_function): New function.
1277         * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1278         $(GIMPLE_H), and $(GO_GOGO_H).
1280 2011-04-03  Ian Lance Taylor  <iant@google.com>
1282         * go-gcc.cc: New file.
1283         * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1284         (go/go-gcc.o): New target.
1285         (go/go.o): Depend on go/gofrontend/backend.h.
1286         (go/statements.o): Likewise.
1288 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1290         * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1292 2011-02-08  Ian Lance Taylor  <iant@google.com>
1294         * go-lang.c (go_langhook_init_options_struct): Set
1295         frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.
1297 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1299         * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1300         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1302 2011-01-21  Ian Lance Taylor  <iant@google.com>
1304         * go-lang.c (go_langhook_init): Omit float_type_size when calling
1305         go_create_gogo.
1306         * go-c.h: Update declaration of go_create_gogo.
1308 2011-01-13  Ian Lance Taylor  <iant@google.com>
1310         * go-backend.c: Include "rtl.h" and "target.h".
1311         (go_imported_unsafe): New function.
1312         * go-c.h (go_imported_unsafe): Declare.
1313         * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
1314         (go/gogo-tree.o): Remove dependency on $(RTL_H).
1315         (go/unsafe.o): Depend on $(GO_C_H).
1317 2010-12-31  Joern Rennecke  <amylaar@spamcop.net>
1319         PR go/47113
1320         * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
1321         variable ‘field’ .
1323 2010-12-21  Ian Lance Taylor  <iant@google.com>
1325         * Make-lang.in (check-go): Remove.
1326         (lang_checks_parallelized): Add check-go.
1327         (check_go_parallelize): Set.
1329 2010-12-13  Ian Lance Taylor  <iant@google.com>
1331         * gospec.c (lang_specific_driver): Add a -o option if not linking
1332         and there is no -o option already.
1334 2010-12-07  Ian Lance Taylor  <iant@google.com>
1336         PR tree-optimization/46805
1337         PR tree-optimization/46833
1338         * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
1340 2010-12-06  Ian Lance Taylor  <iant@google.com>
1342         PR other/46789
1343         PR bootstrap/46812
1344         * go-lang.c (go_char_p): Define type and vectors.
1345         (go_search_dirs): New static variable.
1346         (go_langhook_handle_option): Use version and version/machine
1347         directories for -L.
1348         (go_langhook_post_options): Add non-specific -L paths.
1349         * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
1350         DEFAULT_TARGET_MACHINE when compiling.
1351         * gccgo.texi (Invoking gccgo): Only document -L for linking.
1352         (Import and Export): Don't mention -L for finding import files.
1354 2010-12-03  Ian Lance Taylor  <iant@google.com>
1356         PR bootstrap/46776
1357         * go-backend.c: New file.
1358         * go-c.h (go_type_alignment): Declare.
1359         (go_field_alignment, go_trampoline_info): Declare.
1360         * Make-lang.in (GO_OBJS): Add go/go-backend.o.
1361         (go/go-backend.o): New target.
1362         (go/go-lang.o): Make dependencies match source file.
1363         (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
1364         (go/gogo-tree.o): Don't depend on $(TM_H).
1366 2010-12-03  Ian Lance Taylor  <iant@google.com>
1368         * config-lang.in (build_by_default): Set to no.
1370 2010-12-02  Ian Lance Taylor  <iant@google.com>
1372         Go frontend added to gcc repository.
1374 Copyright (C) 2010-2017 Free Software Foundation, Inc.
1376 Copying and distribution of this file, with or without modification,
1377 are permitted in any medium without royalty provided the copyright
1378 notice and this notice are preserved.