Update ChangeLog and version files for release
[official-gcc.git] / gcc / go / ChangeLog
blob2d6cdbea429bb8bbc6903d66dd712c821246b1b5
1 2018-01-25  Release Manager
3         * GCC 7.3.0 released.
5 2017-08-14  Release Manager
7         * GCC 7.2.0 released.
9 2017-05-11  Ian Lance Taylor  <iant@google.com>
11         PR go/64238
12         * go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
13         DECL_EXTERNAL, clear TREE_STATIC.
15 2017-05-02  Release Manager
17         * GCC 7.1.0 released.
19 2017-03-28  Than McIntosh  <thanm@google.com>
21         PR go/80226
22         * go-gcc.cc (Gcc_backend::return_statement): Check for
23         void_type_node when checking result size.
25 2017-02-20  Ian Lance Taylor  <iant@golang.org>
27         PR go/79642
28         * lang.opt (-fgo-relative-import-path): Change space to tab.
30 2017-02-07  Richard Biener  <rguenther@suse.de>
32         PR tree-optimization/79256
33         PR middle-end/79278
34         * go-backend.c (go_field_alignment): Adjust.
36 2017-01-11  Than McIntosh  <thanm@google.com>
38         * go-gcc.cc (conditional_expression): Add Bfunction parameter.
40 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
42         Update copyright years.
44         * gccgo.texi: Bump @copyrights-go year.
46 2016-12-16  Than McIntosh  <thanm@google.com>
48         * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
49         parameter.
50         (Gcc_backend::init_statement): Likewise.
51         (Gcc_backend::assignment_statement): Likewise.
52         (Gcc_backend::if_statement): Likewise.
54 2016-12-06  Than McIntosh  <thanm@google.com>
56         * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
57         parameter.
59 2016-11-22  Than McIntosh  <thanm@google.com>
61         * go-gcc.cc (char_needs_encoding): Remove.
62         (needs_encoding, fetch_utf8_char, encode_id): Remove.
63         (Gcc_backend::global_variable): Add asm_name parameter.  Don't
64         compute asm_name here.
65         (Gcc_backend::implicit_variable): Likewise.
66         (Gcc_backend::implicit_variable_reference): Likewise.
67         (Gcc_backend::immutable_struct): Likewise.
68         (Gcc_backend::immutable_struct_reference): Likewise.
69         * Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
71 2016-11-22  Ian Lance Taylor  <iant@google.com>
73         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
74         __builtin_frame_address.
76 2016-10-25  David Malcolm  <dmalcolm@redhat.com>
78         * go-lang.c (go_langhook_type_for_mode): Remove redundant cast
79         from result of GET_MODE_CLASS.  Minor formatting fixes.
81 2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
83         * go-backend.c: Include memmodel.h.
85 2016-10-10  Than McIntosh  <thanm@google.com>
87         * go-gcc.h: New file.
88         * go-c.h (struct go_create_gogo_args): Add backend and linemap
89         fields.
90         * go-lang.c: Include "go-gcc.h".
91         (go_langhook_init): Set linemap and backend fields of args.
92         * go-gcc.cc: Include "go-gcc.h".
93         * go-linemap.cc: Include "go-gcc.h".
95 2016-10-10  Than McIntosh  <thanm@google.com>
97         * go-linemap.cc (Gcc_linemap::location_line): New method.
99 2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
101         * config-lang.in (lang_requires_boot_languages): Delete.
103 2016-10-06  Chris Manghane  <cmang@google.com>
105         * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
106         returned memory.
108 2016-09-27  Than McIntosh  <thanm@google.com>
110         * go-linemap.cc (Gcc_linemap::to_string): New method.
112 2016-09-23  Than McIntosh  <thanm@google.com>
114         * go-gcc-diagnostics.cc: New file.
115         * go-location.h (Location): Remove operator source_location.  Add
116         operator==.
117         * go-system.h: #include <sstream>.
118         * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
119         go/go-gcc-diagnostics.o.
120         (CFLAGS-go/go-gcc-diagnostics.o): New variable.
122 2016-09-23  Chris Manghane  <cmang@google.com>
124         PR go/77701
125         * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
126         to pass arguments in the correct order.
128 2016-09-22  Ian Lance Taylor  <iant@golang.org>
130         * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
131         __builtin_frame_address.
133 2016-09-11  Ian Lance Taylor  <iant@golang.org>
135         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
136         ctz, ctzll, bswap32, bswap64.
138 2016-09-10  Ian Lance Taylor  <iant@golang.org>
140         * go-backend.c (go_trampoline_info): Remove.
141         * go-c.h (go_trampoline_info): Don't declare.
143 2016-09-09  Than McIntosh  <thanm@google.com>
145         * go-sha1.cc: New file.
146         * Make-lang.in (GO_OBJS): Add go/go-sha1.o.
147         (CFLAGS-go/go-sha1.o): New variable.
149 2016-08-29  Ian Lance Taylor  <iant@google.com>
151         * lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
152         * go-c.h (struct go_create_gogo_args): Define.
153         (go_create_gogo): Change declaration to take struct pointer.
154         * go-lang.c (go_c_header): New static variable.
155         (go_langhook_init): Update call to go_create_gogo.
156         * gccgo.texi (Invoking gccgo): Document -fgo-c-header and
157         -fgo-compiling-runtime.
159 2016-08-09  Ian Lance Taylor  <iant@google.com>
161         * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
162         -fgo-debug-escae.
163         (Compiler Directives): New chapter.
164         (Function Names): Describe using //go:linkname.  Suggest using
165         -fgo-pkgpath rather than -fgo-prefix.
167 2016-08-08  Ian Lance Taylor  <iant@google.com>
169         PR go/72814
170         * go-gcc.cc (Gcc_backend::function_type): If the return type is
171         zero bytes, treat the function as returning void.
172         (return_statement): If the return type is zero bytes, don't
173         actually return any values.
175 2016-08-05  Ian Lance Taylor  <iant@google.com>
177         PR go/72812
178         * go-gcc.cc (char_needs_encoding): New static function.
179         (needs_encoding, fetch_utf8_char): New static functions.
180         (encode_id): New static function.
181         (Gcc_backend::global_variable): Set asm name if the name is not
182         simple ASCII.
183         (Gcc_backend::implicit_variable): Likewise.
184         (Gcc_backend::implicit_variable_reference): Likewise.
185         (Gcc_backend::immutable_struct): Likewise.
186         (Gcc_backend::immutable_struct_reference): Likewise.
187         (Gcc_backend::function): Likewise.
189 2016-08-02  Chris Manghane  <cmang@google.com>
191         * lang.opt: Add -fgo-debug-escape option.
192         * go-c.h (go_create_gogo): Add debug_escape_level parameter.
193         * go-lang.c (go_langhook_init): Pass go_debug_escape_level to
194         go_create_gogo.
196 2016-05-06  Chris Manghane  <cmang@google.com>
198         * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
199         new escape.cc).
201 2016-04-29  Chris Manghane  <cmang@google.com>
203         * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
205 2016-04-18  Michael Matz  <matz@suse.de>
207         * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
209 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
211         * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
212         neighbour -> neighbor.
213         * gccgo.texi: Likewise.
215 2016-01-27  Ian Lance Taylor  <iant@google.com>
217         * go-lang.c (go_langhook_init_options_struct): Default to
218         -fkeep-gc-roots-live.
220 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
222         Update copyright years.
224         * gccgo.texi: Bump @copyrights-go year.
226 2015-12-21  Ian Lance Taylor  <iant@google.com>
228         * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.  Add
229         t_ and orig_type_ fields.  Add new two parameter constructor.  Add
230         get_tree and get_decl methods.
231         (Gcc_backend::var_expression): Pass location to var get_tree.
232         (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR.  Use
233         two parameter constructor for Bvariable.
234         (Gcc_backend::global_variable_set_init): Don't remove
235         VIEW_CONVERT_EXPR.  Use var get_decl, not get_tree.
236         (Gcc_backend::write_global_definitions): Likewise.
237         (Gcc_backend::init_statement): Call var get_decl, not get_tree.
238         (Gcc_backend::block): Likewise.
239         (Gcc_backend::implicit_variable_set_init): Likewise.
240         (Gcc_backend::immutable_struct_set_init): Likewise.
241         (Gcc_backend::function_set_parameters): Likewise.
243 2015-12-21  Ian Lance Taylor  <iant@google.com>
245         * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
246         add a VIEW_CONVERT_EXPR to the tree.
247         (Gcc_backend::global_variable_set_init): Remove any
248         VIEW_CONVERT_EXPR.
249         (Gcc_backend::write_global_definitions): Likewise.
251 2015-11-30  Ian Lance Taylor  <iant@google.com>
253         PR go/68477
254         * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
255         TYPE_STRING_FLAG on a variant type.
257 2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
259         * go-backend.c: Remove unused header files.
260         * go-gcc.cc: Likewise.
261         * go-lang.c: Likewise.
262         * gospec.c: Likewise.
264 2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
266         * go-backend.c: Reorder #include's and remove duplicates.
267         * go-lang.c: Likewise.
269 2015-10-20  Alan Modra  <amodra@gmail.com>
271         PR go/66870
272         * gospec.c (saw_opt_m32): Rename to..
273         (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
274         Update uses.
275         (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
277 2015-10-01  Ian Lance Taylor  <iant@google.com>
279         PR go/66870
280         * gospec.c (lang_specific_driver): Only look for OPT_m32 if
281         TARGET_CAN_SPLIT_STACK_64BIT is defined.
283 2015-10-01  Lynn Boger  <laboger@linux.vnet.ibm.com>
285         PR target/66870
286         * gospec.c (lang_specific_driver): Set appropriate split stack
287         options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
289 2015-09-10  Chris Manghane  <cmang@google.com>
291         * go-gcc.cc (Gcc_backend::type_size): Return -1 for
292         unrepresentable size.
294 2015-08-24  Marek Polacek  <polacek@redhat.com>
296         PR tree-optimization/67284
297         * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
298         Set TREE_THIS_VOLATILE.
299         (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
300         Pass false to the rest of define_builtin calls.
302 2015-07-31  Andreas Schwab  <schwab@linux-m68k.org>
304         * go-lang.c (go_langhook_init_options_struct): Don't set
305         x_flag_split_stack.
306         (go_langhook_post_options): Set it here instead.
308 2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
310         * gofrontend/backend.h: Fix double word typos.
311         * gofrontend/expressions.cc: Same.
312         * gospec.c: Same.
314 2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
316         * go-backend.c: Adjust includes.
317         * go-gcc.cc: Likewise.
318         * go-lang.c: Likewise.
320 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
322         * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
324 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
326         * go-backend.c: Do not include input.h, line-map.h or is-a.h.
327         * go-gcc.cc: Likewise.
328         * go-lang.c: Likewise.
329         * go-system.h: Likewise.
331 2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
333         * go-backend.c : Adjust include files.
334         * go-gcc.cc : Likewise.
335         * go-lang.c : Likewise.
337 2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
339         * go-gcc.cc (write_global_definitions): Remove call to
340         finalize_compilation_unit.
341         Remove Go specific debug generation.
342         * go-lang.c (go_langhook_parse_file): Call go_write_globals.
343         (go_langhook_write_globals): Remove.
344         Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
346 2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
348         * go-backend.c: Adjust includes for restructured coretypes.h.
349         * go-c.h: Likewise.
350         * go-gcc.cc: Likewise.
351         * go-lang.c: Likewise.
353 2015-04-30  Chris Manghane  <cmang@google.com>
355         * go-gcc.cc (Gcc_backend::stack_allocation_expression): New
356         method.
358 2015-04-27  Jim Wilson  <jim.wilson@linaro.org>
360         * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
362 2015-04-17  Chris Manghane  <cmang@google.com>
364         * Make-lang.in (GO_OBJS): Add go/escape.o.
366 2015-02-02  Ian Lance Taylor  <iant@google.com>
368         PR go/64836
369         PR go/64838
370         * go-gcc.cc (Gcc_backend::type_size): Change return type to
371         int64_t.
372         (Gcc_backend::type_alignment): Likewise.
373         (Gcc_backend::type_field_alignment): Likewise.
374         (Gcc_backend::type_field_offset): Likewise.
375         (Gcc_backend::implicit_variable): Change alignment parameter type
376         to int64_t.
378 2015-01-23  Ian Lance Taylor  <iant@google.com>
380         PR go/63565
381         * gccgo.texi (Invoking gccgo): Mention that Go programs should not
382         be stripped.
384         * gccgo.texi (C Interoperability): Mention that people should use
385         cgo.
387 2015-01-23  Ian Lance Taylor  <iant@google.com>
389         PR go/64595
390         * go-lang.c (go_langhook_init_options_struct): Set default
391         debug_info_level.
392         (go_langhook_post_options): If debug_info_level is still the
393         default, make sure write_symbols is set.
394         * gccgo.texi (Invoking gccgo): Document that -g1 is the default.
396 2015-01-16  Richard Henderson  <rth@redhat.com>
398         * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
399         (Gcc_backend::static_chain_variable): New method.
401 2015-01-09  Ian Lance Taylor  <iant@google.com>
403         * config-lang.in (lang_dirs): Define.
405 2015-01-09  Michael Collison  <michael.collison@linaro.org>
407         * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
408         input.h, alias.h, symtab.h, options.h, fold-const.h,
409         wide-int.h, and inchash.h due to flattening of tree.h.
410         * go-lang.c: Ditto.
411         * go-backend.c: Ditto.
413 2015-01-07  Chris Manghane  <cmang@google.com>
415         PR go/61204
416         * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
417         zero-sized variable.
419 2015-01-06  Chris Manghane  <cmang@google.com>
421         * go-gcc.cc (Gcc_backend::constructor_expression): Don't
422         initialize zero-sized fields, just evaluate the values for side
423         effects.
425 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
427         Update copyright years.
429         * gccgo.texi: Bump @copyrights-go year.
431 2014-12-19  Chris Manghane  <cmang@google.com>
433         * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
434         construct arrays of zero-sized values.
436 2014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
438         * go-lang.c: Remove redundant enum from machine_mode.
440 2014-10-28  Andrew MacLeod  <amacleod@redhat.com>
442         * go-gcc.cc: Adjust include files.
444 2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
446         * go-gcc.cc: Adjust include files.
447         * go-lang.c: Ditto.
449 2014-10-23  Ian Lance Taylor  <iant@google.com>
451         * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
452         mpc_t parameter instead of two mpfr_t parameters.
454 2014-09-15  Jakub Jelinek  <jakub@redhat.com>
456         * Make-lang.in (check_go_parallelize): Change to just an upper bound
457         number.
459 2014-09-03  Chris Manghane  <cmang@google.com>
461         * go-gcc.cc (Gcc_backend::implicit_variable): Remove init
462         parameter.  Add is_hidden parameter.
463         (Gcc_backend::implicit_variable_set_init): New method.
464         (Gcc_backend::implicit_variable_reference): New method.
466 2014-08-08  Ian Lance Taylor  <iant@google.com>
468         * go-gcc.cc (Gcc_backend::compound_statement): Don't return
469         NULL_TREE.
471 2014-07-24  Uros Bizjak  <ubizjak@gmail.com>
473         * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
474         symtab_get_node to symtab_node::get.
476 2014-06-13  Ian Lance Taylor  <iant@google.com>
478         PR go/61496
479         * gospec.c (lang_specific_driver): On Solaris, when not using GNU
480         ld, add -t option to avoid warning about common symbol changing
481         size.
483 2014-06-10  Jan Hubicka  <hubicka@ucw.cz>
485         * go-gcc.cc (Gcc_backend::global_variable_set_init): Use
486         symtab_get_node(var_decl)->implicit_section.
488 2014-06-07  Jan Hubicka  <hubicka@ucw.cz>
490         * go-gcc.cc (global_variable_set_init): Use
491         set_decl_section_name.
493 2014-06-04  Ian Lance Taylor  <iant@google.com>
495         * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
496         alignment parameters.  Permit init parameter to be NULL.
498 2014-06-02  Andrew MacLeod  <amacleod@redhat.com>
500         * go-gcc.cc: Include builtins.h.
502 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
504         * go-lang.c (struct GTY): Don't use variable_size gty attribute.
506 2014-05-06  Chris Manghane  <cmang@google.com>
508         * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
509         (Gcc_backend::boolean_constant_expression): New method.
510         (Gcc_backend::zero_expression): Use this->make_expression rather
511         than tree_to_expr.
512         (Gcc_backend::var_expression): Likewise.
513         (Gcc_backend::integer_constant_expression): Likewise.
514         (Gcc_backend::float_constant_expression): Likewise.
515         (Gcc_backend::complex_constant_expression): Likewise.
516         (Gcc_backend::struct_field_expression): Likewise.
517         (tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
518         (tree_to_function, tree_to_block): Remove functions.
519         (type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
520         (block_to_tree, var_to_tree, function_to_tree): Remove functions.
522 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
523             Mike Stump  <mikestump@comcast.net>
524             Richard Sandiford  <rdsandiford@googlemail.com>
526         * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
528 2014-05-06  Chris Manghane  <cmang@google.com>
530         * go-c.h (go_create_gogo): Update declaration to add
531         check_divide_zero and check_divide_overflow parameters.
532         * go-lang.c (go_langhook_init): Pass new arguments to
533         go_create_gogo.
535 2014-05-05  Chris Manghane  <cmang@google.com>
537         * go-gcc.cc (Gcc_backend::implicit_variable): Rename from
538         gc_root_variable.  Add name and is_constant parameters.
540 2014-05-05  Chris Manghane  <cmang@google.com>
542         * go-gcc.cc (Gcc_backend::indirect_expression): Add btype
543         parameter.
544         (Gcc_backend::temporary_variable): Check for erroneous function.
546 2014-04-30  Chris Manghane  <cmang@google.com>
548         * go-backend.c: #include "diagnostics.h".
549         (saw_errors): New function.
550         * go-c.h (saw_errors): Declare.
551         * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
553 2014-04-30  Chris Manghane  <cmang@google.com>
555         * go-lang.c (go_langhook_type_for_size): Do it here, rather than
556         calling into Go frontend.
557         (go_langhook_type_for_mode): Likewise.
558         * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
560 2014-04-30  Chris Manghane  <cmang@google.com>
562         * go-gcc.cc: #include "langhooks.h".
563         (Gcc_backend::Gcc_backend): Add constructor.
564         (Gcc_backend::lookup_function): New function.
565         (Gcc_backend::define_builtin): New private function.
566         (Gcc_backend::gcc_backend): Remove.
567         (go_get_backend): Use new to create new Gcc_backend.
569 2014-04-25  Chris Manghane  <cmang@google.com>
571         * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
572         (Gcc_backend::return_statement): Push and pop function.
573         (Gcc_backend::label): Likewise.
574         (Gcc_backend::function_defer_statement): Likewise.
575         (Gcc_backend::switch_statement): Add function parameter.
576         (Gcc_backend::block): Don't permit function to be NULL.
577         (Gcc_backend::temporary_variable): Change go_assert to
578         gcc_assert.
579         (Gcc_backend::gc_root_variable): New function.
580         (Gcc_backend::write_global_definitions): New function.
582 2014-04-22  Chris Manghane  <cmang@google.com>
584         * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
585         call to create_tmp_var.  Require that function be non-NULL.
587 2014-04-17  Chris Manghane  <cmang@google.com>
589         * go-gcc.cc (Gcc_backend::named_constant_expression): New
590         function.
592 2014-04-14  Chris Manghane  <cmang@google.com>
594         * go-gcc.cc: Include "convert.h".
595         (Gcc_backend::string_constant_expression): New function.
596         (Gcc_backend::real_part_expression): Likewise.
597         (Gcc_backend::imag_part_expression): Likewise.
598         (Gcc_backend::complex_expression): Likewise.
599         (Gcc_backend::constructor_expression): Likewise.
600         (Gcc_backend::array_constructor_expression): Likewise.
601         (Gcc_backend::pointer_offset_expression): Likewise.
602         (Gcc_backend::array_index_expression): Likewise.
603         (Gcc_backend::call_expression): Likewise.
604         (Gcc_backend::exception_handler_statement): Likewise.
605         (Gcc_backend::function_defer_statement): Likewise.
606         (Gcc_backend::function_set_parameters): Likewise.
607         (Gcc_backend::function_set_body): Likewise.
608         (Gcc_backend::convert_expression): Handle various type
609         conversions.
611 2014-03-03  Ian Lance Taylor  <iant@google.com>
613         * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
614         DECL_WEAK.
615         (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
616         DECL_WEAK.
618 2014-01-24  Chris Manghane  <cmang@google.com>
620         * go-gcc.cc (Gcc_backend::unary_expression): New function.
622 2014-01-16  Chris Manghane  <cmang@google.com>
624         * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
625         parameter.
626         (operator_to_tree_code): New static function.
627         (Gcc_backend::binary_expression): New function.
629 2014-01-14  Chris Manghane  <cmang@google.com>
631         * go-gcc.cc (Gcc_backend::compound_expression): New function.
632         (Gcc_backend::conditional_expression): New function.
634 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
636         Update copyright years
638 2014-01-02  Tobias Burnus  <burnus@net-b.de>
640         * gccgo.texi: Bump @copying's copyright year.
642 2013-12-16  Chris Manghane  <cmang@google.com>
644         * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
646 2013-12-11  Ian Lance Taylor  <iant@google.com>
648         * go-lang.c (go_langhook_post_options): Disable sibling calls by
649         default.
651 2013-12-10  Ian Lance Taylor  <iant@google.com>
653         * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
654         separately.
656 2013-12-05  Ian Lance Taylor  <iant@google.com>
658         Revert this change; no longer required.
659         2013-11-06  Ian Lance Taylor  <iant@google.com>
661         * go-lang.c (go_langhook_post_options): If
662         -fisolate-erroneous-paths was turned on by an optimization option,
663         turn it off.
665 2013-11-23  Ian Lance Taylor  <iant@google.com>
667         * go-gcc.cc (Gcc_backend::function_type): Add result_struct
668         parameter.
670 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
672         * go-gcc.cc: Add required include files from gimple.h.
673         * go-lang.c: Likewise
675 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
677         * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
678         tree_to_shwi throughout.
680 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
682         * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
683         tree_fits_shwi_p throughout.
685 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
687         * go-lang.c: Include only gimplify.h and gimple.h as needed.
689 2013-11-14  Diego Novillo  <dnovillo@google.com>
691         * go-backend.c: Include stor-layout.h.
692         * go-gcc.cc: Include stringpool.h.
693         Include stor-layout.h.
694         Include varasm.h.
695         * go-lang.c: Include stor-layout.h.
697 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
699         * go-lang.c: Include gimplify.h.
701 2013-11-06  Ian Lance Taylor  <iant@google.com>
703         * go-lang.c (go_langhook_post_options): If
704         -fisolate-erroneous-paths was turned on by an optimization option,
705         turn it off.
707 2013-10-14  Chris Manghane  <cmang@google.com>
709         * go-gcc.cc (Gcc_backend::address_expression): New function.
711 2013-10-11  Chris Manghane  <cmang@google.com>
713         * go-gcc.cc (Gcc_backend::function_code_expression): New
714         function.
716 2013-10-10  Chris Manghane  <cmang@google.com>
718         * go-gcc.cc (Gcc_backend::error_function): New function.
719         (Gcc_backend::function): New function.
720         (Gcc_backend::make_function): New function.
721         (function_to_tree): New function.
723 2013-10-04  Chris Manghane  <cmang@google.com>
725         * go-gcc.cc (Gcc_backend::convert_expression): New function.
727 2013-10-02  Chris Manghane  <cmang@google.com>
729         * go-gcc.cc: Include "real.h" and "realmpfr.h".
730         (Gcc_backend::integer_constant_expression): New function.
731         (Gcc_backend::float_constant_expression): New function.
732         (Gcc_backend::complex_constant_expression): New function.
734 2013-09-30  Chris Manghane  <cmang@google.com>
736         * go-gcc.cc (Gcc_backend::error_expression): New function.
737         (Gcc_backend::var_expression): New function.
738         (Gcc_backend::indirect_expression): New function.
740 2013-09-25  Tom Tromey  <tromey@redhat.com>
742         * Make-lang.in (gospec.o): Remove.
743         (CFLAGS-go/gospec.o): New variable.
744         (GCCGO_OBJS): Update to use go/gospec.o.
745         (go_OBJS): Define.
746         (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
747         (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
748         (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
749         (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
750         (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
751         (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
752         (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
753         (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
754         (go/unsafe.o): Remove.
755         (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
756         (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
758 2013-09-25  Tom Tromey  <tromey@redhat.com>
760         * Make-lang.in (gospec.o): Don't use subshell.
762 2013-08-28  Ian Lance Taylor  <iant@google.com>
764         * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
765         the struct is not hidden.
766         (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
768 2013-08-06  Ian Lance Taylor  <iant@google.com>
770         * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
771         compute_reloc_for_constant.
773 2013-08-02  Ian Lance Taylor  <iant@google.com>
775         * go-gcc.cc (immutable_struct_set_init): Always call
776         resolve_unique_section.
778 2013-07-24  Ian Lance Taylor  <iant@google.com>
780         * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
781         fields, recreate those fields with the first one with a non-zero
782         size.
784 2013-07-23  Ian Lance Taylor  <iant@google.com>
786         * go-backend.c: Don't #include "rtl.h".
787         (go_imported_unsafe): Don't call init_varasm_once.
788         * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
790 2013-07-23  Ian Lance Taylor  <iant@google.com>
792         * go-lang.c: Don't #include "except.h".
793         * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
795 2013-06-18  Ian Lance Taylor  <iant@google.com>
797         * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
798         parameter.
799         (Gcc_backend::immutable_struct_set_init): Likewise.
801 2013-05-16  Jason Merrill  <jason@redhat.com>
803         * Make-lang.in (go1$(exeext)): Use link mutex.
805 2013-01-16  Shenghou Ma  <minux.ma@gmail.com>
807         * gospec.c: pass -u pthread_create to linker when static linking.
809 2012-12-21  Ian Lance Taylor  <iant@google.com>
811         PR bootstrap/54659
812         * go-system.h: Don't include <cstdio>.
814 2012-12-18  Ian Lance Taylor  <iant@google.com>
816         PR go/55201
817         * gospec.c: Revert last patch.
819 2012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
821         PR go/55201
822         * gospec.c (LIBATOMIC): Define.
823         (LIBATOMIC_PROFILE): Define.
824         (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
826 2012-11-29  Ian Lance Taylor  <iant@google.com>
828         * go-gcc.cc: Include "output.h".
829         (global_variable): Add is_unique_section parameter.
830         (global_variable_set_init): Adjust unique section if necessary.
831         * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
833 2012-11-17  Diego Novillo  <dnovillo@google.com>
835         Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
837         * go-lang.c: Use new vec API in vec.h.
839 2012-11-16  Ian Lance Taylor  <iant@google.com>
841         * Make-lang.in (gccgo$(exeext)): Add + at start of command.
842         (go1$(exeext)): Likewise.
844 2012-10-30  Ian Lance Taylor  <iant@google.com>
846         * lang.opt (-fgo-relative-import-path): New option.
847         * go-lang.c (go_relative_import_path): New static variable.
848         (go_langhook_init): Pass go_relative_import_path to
849         go_create_gogo.
850         (go_langhook_handle_option): Handle -fgo-relative-import-path.
851         * go-c.h (go_create_gogo): Update declaration.
852         * gccgo.texi (Invoking gccgo): Document
853         -fgo-relative-import-path.
855 2012-09-17  Ian Lance Taylor  <iant@google.com>
857         * config-lang.in (target_libs): Add target-libbacktrace.
859 2012-09-16  Ian Lance Taylor  <iant@google.com>
861         * Make-lang.in (go/gogo.o): Depend on filenames.h.
863 2012-08-14   Diego Novillo  <dnovillo@google.com>
865         Merge from cxx-conversion branch.  Configury.
867         * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
868         * go-gcc.cc: Likewise.
869         * go-system.h: Likewise.
871 2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
873         * go-lang.c (lang_decl): Add variable_size GTY option.
875 2012-05-09  Ian Lance Taylor  <iant@google.com>
877         * lang.opt: Add -fgo-pkgpath.
878         * go-lang.c (go_pkgpath): New static variable.
879         (go_prefix): New static variable.
880         (go_langhook_init): Pass go_pkgpath and go_prefix to
881         go_create_gogo.
882         (go_langhook_handle_option): Handle -fgo-pkgpath.  Change
883         -fgo-prefix handling to just set go_prefix.
884         * go-c.h (go_set_prefix): Don't declare.
885         (go_create_gogo): Add pkgpath and prefix to declaration.
886         * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
887         to pkgpath.  Don't include the package name in the asm name.
888         * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
889         docs for -fgo-prefix.
891 2012-04-23  Ian Lance Taylor  <iant@google.com>
893         * go-lang.c (go_langhook_init): Set MPFR precision to 256.
895 2012-04-20  Ian Lance Taylor  <iant@google.com>
897         * lang.opt: Add -fgo-check-divide-zero and
898         -fgo-check-divide-overflow.
899         * gccgo.texi (Invoking gccgo): Document new options.
901 2012-04-18  Steven Bosscher  <steven@gcc.gnu.org>
903         * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
904         with NULL_TREE type instead of void_type_node.
906 2012-03-09  Ian Lance Taylor  <iant@google.com>
908         * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
909         to the lhs type if necessary.
911 2012-03-08  Ian Lance Taylor  <iant@google.com>
913         * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
914         zero-sized variable.
915         (go_non_zero_struct): New global variable.
916         (Gcc_backend::non_zero_size_type): New function.
917         (Gcc_backend::global_variable): Don't build an assignment for a
918         zero-sized value.
919         * go-c.h (go_non_zero_struct): Declare.
920         * config-lang.in (gtfiles): Add go-c.h.
922 2012-02-29  Ian Lance Taylor  <iant@google.com>
924         * go-gcc.cc (class Gcc_tree): Add set_tree method.
925         (set_placeholder_pointer_type): When setting to a pointer to
926         error, set to error_mark_node.
928 2012-02-23  Richard Guenther  <rguenther@suse.de>
930         * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
931         build_distinct_type_copy.
933 2012-02-17  Ian Lance Taylor  <iant@google.com>
935         * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
937 2012-02-17  Ian Lance Taylor  <iant@google.com>
939         * gospec.c (lang_specific_driver): If linking, and no -o option
940         was used, add one.
942 2012-02-14  Ian Lance Taylor  <iant@google.com>
944         PR go/48411
945         * Make-lang.in (gccgo-cross$(exeext)): New target.
946         (go.all.cross): Depend on gccgo-cross$(exeext) instead of
947         gccgo$(exeext).
948         (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
949         gccgo-cross$(exeext) does not exist.
951 2012-02-07  Ian Lance Taylor  <iant@google.com>
953         * gccgo.texi (Function Names): Document //extern instead of
954         __asm__.
956 2012-02-01  Jakub Jelinek  <jakub@redhat.com>
958         PR target/52079
959         * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
960         return build_nonstandard_integer_type result if possible.
962 2012-01-21  Ian Lance Taylor  <iant@google.com>
964         * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
965         (Gcc_backend::type_alignment): Likewise.
966         (Gcc_backend::type_field_alignment): Likewise.
967         (Gcc_backend::type_field_offset): Likewise.
969 2012-01-20  Ian Lance Taylor  <iant@google.com>
971         * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
972         be empty.
973         (Gcc_backend::set_placeholder_struct_type): Likewise.
975 2012-01-17  Ian Lance Taylor  <iant@google.com>
977         * gospec.c (lang_specific_driver): If we see -S without -o, add -o
978         BASE.s rather than -o BASE.o.
980 2012-01-11  Ian Lance Taylor  <iant@google.com>
982         * go-lang.c (go_langhook_init): Initialize void_list_node before
983         calling go_create_gogo.
985 2012-01-10  Ian Lance Taylor  <iant@google.com>
987         * go-gcc.cc (Gcc_backend::type_size): New function.
988         (Gcc_backend::type_alignment): New function.
989         (Gcc_backend::type_field_alignment): New function.
990         (Gcc_backend::type_field_offset): New function.
991         * go-backend.c (go_type_alignment): Remove.
992         * go-c.h (go_type_alignment): Don't declare.
994 2011-12-27  Ian Lance Taylor  <iant@google.com>
996         * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
997         build_distinct_type_copy rather than build_variant_type_copy.
998         (Gcc_backend::set_placeholder_array_type): Likewise.
999         (Gcc_backend::named_type): Add special handling for builtin
1000         basic types.
1002 2011-12-22  Ian Lance Taylor  <iant@google.com>
1004         * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
1005         for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
1006         (Gcc_backend::set_placeholder_struct_type): Likewise.
1007         (Gcc_backend::set_placeholder_array_type): Likewise.
1008         (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
1010 2011-12-13  Ian Lance Taylor  <iant@google.com>
1012         * go-backend.c: #include "simple-object.h" and "intl.h".
1013         (GO_EXPORT_SEGMENT_NAME): Define if not defined.
1014         (GO_EXPORT_SECTION_NAME): Likewise.
1015         (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
1016         (go_read_export_data): New function.
1017         * go-c.h (go_read_export_data): Declare.
1019 2011-11-29  Sanjoy Das  <thedigitalangel@gmail.com>
1020             Ian Lance Taylor  <iant@google.com>
1022         * go-location.h: New file.
1023         * go-linemap.cc: New file.
1024         * go-gcc.cc: Change all uses of source_location to Location.
1025         * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1026         (GO_LINEMAP_H): New variable.
1027         (GO_LEX_H): Use $(GO_LINEMAP_H).
1028         (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1029         (go/go-linemap.o): New target.
1031 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1033         * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1035 2011-08-24  Roberto Lublinerman  <rluble@gmail.com>
1037         * lang.opt: Add fgo-optimize-.
1038         * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1039         * go-c.h (go_enable_optimize): Declare.
1040         * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1041         (GO_EXPORT_H): Define.
1042         (GO_IMPORT_H): Add $(GO_EXPORT_H).
1043         (GO_AST_DUMP_H): Define.
1044         (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1045         (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1046         (go/types.o): Likewise.
1047         (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1048         (go/go-optimize.o): New target.
1050 2011-08-24  Joseph Myers  <joseph@codesourcery.com>
1052         * Make-lang.in (CFLAGS-go/go-lang.o): New.
1053         (go/go-lang.o): Remove explicit compilation rule.
1055 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1057         * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1059 2011-08-02  Roberto Lublinerman  <rluble@gmail.com>
1061         * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1062         (go/ast-dump.o): New target.
1063         (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1064         (go/statements.o): Likewise.
1066 2011-07-06  Richard Guenther  <rguenther@suse.de>
1068         * go-lang.c (go_langhook_init):
1069         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1071 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1073         * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1074         dependencies.
1075         * go-backend.c: Include common/common-target.h.
1076         (go_write_export_data): Use targetm_common.have_named_sections.
1077         * go-lang.c: Include common/common-target.h.
1078         (go_langhook_init_options_struct): Use
1079         targetm_common.supports_split_stack.
1081 2011-06-13  Ian Lance Taylor  <iant@google.com>
1083         * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1085 2011-06-10  Ian Lance Taylor  <iant@google.com>
1087         * go-gcc.cc: Include "toplev.h".
1088         (Gcc_backend::immutable_struct): New function.
1089         (Gcc_backend::immutable_struct_set_init): New function.
1090         (Gcc_backend::immutable_struct_reference): New function.
1091         * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1093 2011-06-09  Ian Lance Taylor  <iant@google.com>
1095         * go-gcc.cc (Gcc_backend::zero_expression): New function.
1097 2011-06-07  Richard Guenther  <rguenther@suse.de>
1099         * go-lang.c (go_langhook_init): Do not set
1100         size_type_node or call set_sizetype.
1102 2011-05-27  Ian Lance Taylor  <iant@google.com>
1104         * go-backend.c: Include "output.h".
1105         (go_write_export_data): New function.
1106         * go-c.h (go_write_export_data): Declare.
1107         * Make-lang.in (go/go-backend.o): Depend on output.h.
1108         (go/export.o): Depend on $(GO_C_H).  Do not depend on
1109         $(MACHMODE_H), output.h, or $(TARGET_H).
1111 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
1113         * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1114         (gccgo$(exeext)): Use libcommon-target.a.
1116 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
1118         * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1120 2011-05-13  Ian Lance Taylor  <iant@google.com>
1122         * go-gcc.cc (Gcc_backend::function_type): When building a struct
1123         for multiple results, check that all fields types have a size.
1124         (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1126 2011-05-12  Ian Lance Taylor  <iant@google.com>
1128         * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1129         parameter.
1130         (Gcc_backend::parameter_variable): Likewise.
1132 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
1134         * go-lang.c (global_bindings_p): Return bool and simplify.
1136 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1138         * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1140 2011-05-04  Ian Lance Taylor  <iant@google.com>
1142         * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1143         (Gcc_backend::fill_in_struct): New function.
1144         (Gcc_backend::array_type): Implement.
1145         (Gcc_backend::fill_in_array): New function.
1146         (Gcc_backend::placeholder_pointer_type): New function.
1147         (Gcc_backend::set_placeholder_pointer_type): New function.
1148         (Gcc_backend::set_placeholder_function_type): New function.
1149         (Gcc_backend::placeholder_struct_type): New function.
1150         (Gcc_backend::set_placeholder_struct_type): New function.
1151         (Gcc_backend::placeholder_array_type): New function.
1152         (Gcc_backend::set_placeholder_array_type): New function.
1153         (Gcc_backend::named_type): New function.
1154         (Gcc_backend::circular_pointer_type): New function.
1155         (Gcc_backend::is_circular_pointer_type): New function.
1157 2011-04-26  Ian Lance Taylor  <iant@google.com>
1159         * go-gcc.cc (Gcc_backend::struct_type): Implement.
1161 2011-04-25  Ian Lance Taylor  <iant@google.com>
1163         * go-gcc.cc (Gcc_backend::error_type): Implement.
1164         (Gcc_backend::string_type): Remove.
1165         (Gcc_backend::function_type): Change signature and implement.
1166         (Gcc_backend::struct_type): Change signature.
1167         (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1168         (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1169         (Gcc_backend::pointer_type): Check for error.
1170         * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1172 2011-04-25  Evan Shaw  <edsrzf@gmail.com>
1174         * go-gcc.c (class Gcc_tree): Make get_tree const.
1175         (Gcc_backend::void_type): Implement.
1176         (Gcc_backend::bool_type): Implement.
1177         (Gcc_backend::integer_type): Implement.
1178         (Gcc_backend::float_type): Implement.
1179         (Gcc_backend::complex_type): New function.
1180         (Gcc_backend::pointer_type): New function.
1181         (Gcc_backend::make_type): New function.
1182         (type_to_tree): New function.
1184 2011-04-21  Ian Lance Taylor  <iant@google.com>
1186         * go-system.h (go_assert, go_unreachable): Define.
1188 2011-04-19  Ian Lance Taylor  <iant@google.com>
1190         * go-system.h: Include "intl.h".
1191         * Make-lang.in (GO_SYSTEM_H): Add intl.h.
1192         (go/statements.o): Remove dependencies on intl.h $(TREE_H)
1193         $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1195 2011-04-19  Ian Lance Taylor  <iant@google.com>
1197         * go-gcc.cc (Gcc_backend::temporary_variable): New function.
1199 2011-04-19  Ian Lance Taylor  <iant@google.com>
1201         * go-gcc.cc (class Bblock): Define.
1202         (Gcc_backend::if_statement): Change then_block and else_block to
1203         Bblock*.
1204         (Gcc_backend::block): New function.
1205         (Gcc_backend::block_add_statements): New function.
1206         (Gcc_backend::block_statement): New function.
1207         (tree_to_block, block_to_tree): New functions.
1209 2011-04-18  Ian Lance Taylor  <iant@google.com>
1211         * go-gcc.cc: Include "go-c.h".
1212         (class Bvariable): Define.
1213         (Gcc_backend::init_statement): New function.
1214         (Gcc_backend::global_variable): New function.
1215         (Gcc_backend::global_variable_set_init): New function.
1216         (Gcc_backend::local_variable): New function.
1217         (Gcc_backend::parameter_variable): New function.
1218         (tree_to_type, var_to_tree): New functions.
1219         * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1220         * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1222 2011-04-15  Ian Lance Taylor  <iant@google.com>
1224         * go-gcc.cc (Gcc_backend::compound_statement): New function.
1225         (Gcc_backend::assignment_statement): Use error_statement.
1226         (Gcc_backend::return_statement): Likewise.
1227         (Gcc_backend::if_statement): Likewise.
1228         (Gcc_backend::switch_statement): Likewise.
1229         (Gcc_backend::statement_list): Likewise.
1231 2011-04-14  Ian Lance Taylor  <iant@google.com>
1233         * go-gcc.cc (Gcc_backend::error_statement): New function.
1235 2011-04-13  Ian Lance Taylor  <iant@google.com>
1237         * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1239 2011-04-13  Ian Lance Taylor  <iant@google.com>
1241         * Make-lang.in (GO_OBJS): Add go/runtime.o.
1242         (GO_RUNTIME_H): New variable.
1243         (go/runtime.o): New target.
1244         (go/gogo.o): Depend on $(GO_RUNTIME_H).
1245         (go/statements.o): Likewise.
1247 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1249         * go-lang.c (union lang_tree_node): Check for TS_COMMON before
1250         calling TREE_CHAIN.
1252 2011-04-06  Ian Lance Taylor  <iant@google.com>
1254         * go-gcc.cc (if_statement): Use build3_loc.
1255         (Gcc_backend::switch_statement): New function.
1256         (Gcc_backend::statement_list): New function.
1258 2011-04-06  Ian Lance Taylor  <iant@google.com>
1260         * go-gcc.cc (Gcc_backend::if_statement): New function.
1261         (tree_to_stat): New function.
1262         (expr_to_tree): Renamed from expression_to_tree.
1263         (stat_to_tree): Renamed from statement_to_tree.
1265 2011-04-06  Ian Lance Taylor  <iant@google.com>
1267         * go-gcc.cc (Gcc_backend::expression_statement): New function.
1269 2011-04-04  Ian Lance Taylor  <iant@google.com>
1271         * go-gcc.c (class Blabel): Define.
1272         (Gcc_backend::make_expression): New function.
1273         (get_identifier_from_string): New function.
1274         (Gcc_backend::label): New function.
1275         (Gcc_backend::label_definition_statement): New function.
1276         (Gcc_backend::goto_statement): New function.
1277         (Gcc_backend::label_address): New function.
1278         (expression_to_tree): New function.
1279         * Make-lang.in (go/expressions.o): Depend on
1280         go/gofrontend/backend.h.
1281         (go/gogo.o): Likewise.
1283 2011-04-04  Ian Lance Taylor  <iant@google.com>
1285         * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1286         (class Bfunction): Define.
1287         (Gcc_backend::assignment_statement): Rename from assignment.
1288         Check for errors.
1289         (Gcc_backend::return_statement): New function.
1290         (tree_to_function): New function.
1291         * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1292         $(GIMPLE_H), and $(GO_GOGO_H).
1294 2011-04-03  Ian Lance Taylor  <iant@google.com>
1296         * go-gcc.cc: New file.
1297         * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1298         (go/go-gcc.o): New target.
1299         (go/go.o): Depend on go/gofrontend/backend.h.
1300         (go/statements.o): Likewise.
1302 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1304         * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1306 2011-02-08  Ian Lance Taylor  <iant@google.com>
1308         * go-lang.c (go_langhook_init_options_struct): Set
1309         frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.
1311 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1313         * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1314         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1316 2011-01-21  Ian Lance Taylor  <iant@google.com>
1318         * go-lang.c (go_langhook_init): Omit float_type_size when calling
1319         go_create_gogo.
1320         * go-c.h: Update declaration of go_create_gogo.
1322 2011-01-13  Ian Lance Taylor  <iant@google.com>
1324         * go-backend.c: Include "rtl.h" and "target.h".
1325         (go_imported_unsafe): New function.
1326         * go-c.h (go_imported_unsafe): Declare.
1327         * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
1328         (go/gogo-tree.o): Remove dependency on $(RTL_H).
1329         (go/unsafe.o): Depend on $(GO_C_H).
1331 2010-12-31  Joern Rennecke  <amylaar@spamcop.net>
1333         PR go/47113
1334         * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
1335         variable ‘field’ .
1337 2010-12-21  Ian Lance Taylor  <iant@google.com>
1339         * Make-lang.in (check-go): Remove.
1340         (lang_checks_parallelized): Add check-go.
1341         (check_go_parallelize): Set.
1343 2010-12-13  Ian Lance Taylor  <iant@google.com>
1345         * gospec.c (lang_specific_driver): Add a -o option if not linking
1346         and there is no -o option already.
1348 2010-12-07  Ian Lance Taylor  <iant@google.com>
1350         PR tree-optimization/46805
1351         PR tree-optimization/46833
1352         * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
1354 2010-12-06  Ian Lance Taylor  <iant@google.com>
1356         PR other/46789
1357         PR bootstrap/46812
1358         * go-lang.c (go_char_p): Define type and vectors.
1359         (go_search_dirs): New static variable.
1360         (go_langhook_handle_option): Use version and version/machine
1361         directories for -L.
1362         (go_langhook_post_options): Add non-specific -L paths.
1363         * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
1364         DEFAULT_TARGET_MACHINE when compiling.
1365         * gccgo.texi (Invoking gccgo): Only document -L for linking.
1366         (Import and Export): Don't mention -L for finding import files.
1368 2010-12-03  Ian Lance Taylor  <iant@google.com>
1370         PR bootstrap/46776
1371         * go-backend.c: New file.
1372         * go-c.h (go_type_alignment): Declare.
1373         (go_field_alignment, go_trampoline_info): Declare.
1374         * Make-lang.in (GO_OBJS): Add go/go-backend.o.
1375         (go/go-backend.o): New target.
1376         (go/go-lang.o): Make dependencies match source file.
1377         (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
1378         (go/gogo-tree.o): Don't depend on $(TM_H).
1380 2010-12-03  Ian Lance Taylor  <iant@google.com>
1382         * config-lang.in (build_by_default): Set to no.
1384 2010-12-02  Ian Lance Taylor  <iant@google.com>
1386         Go frontend added to gcc repository.
1388 Copyright (C) 2010-2017 Free Software Foundation, Inc.
1390 Copying and distribution of this file, with or without modification,
1391 are permitted in any medium without royalty provided the copyright
1392 notice and this notice are preserved.