* go-backend.c (go_write_export_data): Use EXCLUDE section for
[official-gcc.git] / gcc / go / ChangeLog
blob1925111f16909310cb01763a85a2e6a9b80e7a21
1 2017-07-27    Tony Reix  <tony.reix@atos.net>
3         * go-backend.c (go_write_export_data): Use EXCLUDE section for
4         AIX.
6 2017-06-09  Ian Lance Taylor  <iant@golang.org>
8         * go-lang.c (go_langhook_post_options): If -fsplit-stack is turned
9         on, disable implicit -forder-blocks-and-partition.
11 2017-05-12  Than McIntosh  <thanm@google.com>
13         * go-gcc.cc (Gcc_backend::call_expression): Add caller parameter.
15 2017-05-11  Ian Lance Taylor  <iant@google.com>
17         PR go/64238
18         * go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
19         DECL_EXTERNAL, clear TREE_STATIC.
21 2017-05-10  Than McIntosh  <thanm@google.com>
23         * go-backend.c: Include "go-c.h".
24         * go-gcc.cc (Gcc_backend::write_export_data): New method.
26 2017-05-10  Ian Lance Taylor  <iant@google.com>
28         * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
29         __builtin_prefetch.
30         * Make-lang.in (GO_OBJS): Add go/wb.o.
32 2017-03-28  Than McIntosh  <thanm@google.com>
34         PR go/80226
35         * go-gcc.cc (Gcc_backend::return_statement): Check for
36         void_type_node when checking result size.
38 2017-02-20  Ian Lance Taylor  <iant@golang.org>
40         PR go/79642
41         * lang.opt (-fgo-relative-import-path): Change space to tab.
43 2017-02-07  Richard Biener  <rguenther@suse.de>
45         PR tree-optimization/79256
46         PR middle-end/79278
47         * go-backend.c (go_field_alignment): Adjust.
49 2017-01-11  Than McIntosh  <thanm@google.com>
51         * go-gcc.cc (conditional_expression): Add Bfunction parameter.
53 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
55         Update copyright years.
57         * gccgo.texi: Bump @copyrights-go year.
59 2016-12-16  Than McIntosh  <thanm@google.com>
61         * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
62         parameter.
63         (Gcc_backend::init_statement): Likewise.
64         (Gcc_backend::assignment_statement): Likewise.
65         (Gcc_backend::if_statement): Likewise.
67 2016-12-06  Than McIntosh  <thanm@google.com>
69         * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
70         parameter.
72 2016-11-22  Than McIntosh  <thanm@google.com>
74         * go-gcc.cc (char_needs_encoding): Remove.
75         (needs_encoding, fetch_utf8_char, encode_id): Remove.
76         (Gcc_backend::global_variable): Add asm_name parameter.  Don't
77         compute asm_name here.
78         (Gcc_backend::implicit_variable): Likewise.
79         (Gcc_backend::implicit_variable_reference): Likewise.
80         (Gcc_backend::immutable_struct): Likewise.
81         (Gcc_backend::immutable_struct_reference): Likewise.
82         * Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
84 2016-11-22  Ian Lance Taylor  <iant@google.com>
86         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
87         __builtin_frame_address.
89 2016-10-25  David Malcolm  <dmalcolm@redhat.com>
91         * go-lang.c (go_langhook_type_for_mode): Remove redundant cast
92         from result of GET_MODE_CLASS.  Minor formatting fixes.
94 2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
96         * go-backend.c: Include memmodel.h.
98 2016-10-10  Than McIntosh  <thanm@google.com>
100         * go-gcc.h: New file.
101         * go-c.h (struct go_create_gogo_args): Add backend and linemap
102         fields.
103         * go-lang.c: Include "go-gcc.h".
104         (go_langhook_init): Set linemap and backend fields of args.
105         * go-gcc.cc: Include "go-gcc.h".
106         * go-linemap.cc: Include "go-gcc.h".
108 2016-10-10  Than McIntosh  <thanm@google.com>
110         * go-linemap.cc (Gcc_linemap::location_line): New method.
112 2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
114         * config-lang.in (lang_requires_boot_languages): Delete.
116 2016-10-06  Chris Manghane  <cmang@google.com>
118         * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
119         returned memory.
121 2016-09-27  Than McIntosh  <thanm@google.com>
123         * go-linemap.cc (Gcc_linemap::to_string): New method.
125 2016-09-23  Than McIntosh  <thanm@google.com>
127         * go-gcc-diagnostics.cc: New file.
128         * go-location.h (Location): Remove operator source_location.  Add
129         operator==.
130         * go-system.h: #include <sstream>.
131         * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
132         go/go-gcc-diagnostics.o.
133         (CFLAGS-go/go-gcc-diagnostics.o): New variable.
135 2016-09-23  Chris Manghane  <cmang@google.com>
137         PR go/77701
138         * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
139         to pass arguments in the correct order.
141 2016-09-22  Ian Lance Taylor  <iant@golang.org>
143         * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
144         __builtin_frame_address.
146 2016-09-11  Ian Lance Taylor  <iant@golang.org>
148         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
149         ctz, ctzll, bswap32, bswap64.
151 2016-09-10  Ian Lance Taylor  <iant@golang.org>
153         * go-backend.c (go_trampoline_info): Remove.
154         * go-c.h (go_trampoline_info): Don't declare.
156 2016-09-09  Than McIntosh  <thanm@google.com>
158         * go-sha1.cc: New file.
159         * Make-lang.in (GO_OBJS): Add go/go-sha1.o.
160         (CFLAGS-go/go-sha1.o): New variable.
162 2016-08-29  Ian Lance Taylor  <iant@google.com>
164         * lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
165         * go-c.h (struct go_create_gogo_args): Define.
166         (go_create_gogo): Change declaration to take struct pointer.
167         * go-lang.c (go_c_header): New static variable.
168         (go_langhook_init): Update call to go_create_gogo.
169         * gccgo.texi (Invoking gccgo): Document -fgo-c-header and
170         -fgo-compiling-runtime.
172 2016-08-09  Ian Lance Taylor  <iant@google.com>
174         * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
175         -fgo-debug-escae.
176         (Compiler Directives): New chapter.
177         (Function Names): Describe using //go:linkname.  Suggest using
178         -fgo-pkgpath rather than -fgo-prefix.
180 2016-08-08  Ian Lance Taylor  <iant@google.com>
182         PR go/72814
183         * go-gcc.cc (Gcc_backend::function_type): If the return type is
184         zero bytes, treat the function as returning void.
185         (return_statement): If the return type is zero bytes, don't
186         actually return any values.
188 2016-08-05  Ian Lance Taylor  <iant@google.com>
190         PR go/72812
191         * go-gcc.cc (char_needs_encoding): New static function.
192         (needs_encoding, fetch_utf8_char): New static functions.
193         (encode_id): New static function.
194         (Gcc_backend::global_variable): Set asm name if the name is not
195         simple ASCII.
196         (Gcc_backend::implicit_variable): Likewise.
197         (Gcc_backend::implicit_variable_reference): Likewise.
198         (Gcc_backend::immutable_struct): Likewise.
199         (Gcc_backend::immutable_struct_reference): Likewise.
200         (Gcc_backend::function): Likewise.
202 2016-08-02  Chris Manghane  <cmang@google.com>
204         * lang.opt: Add -fgo-debug-escape option.
205         * go-c.h (go_create_gogo): Add debug_escape_level parameter.
206         * go-lang.c (go_langhook_init): Pass go_debug_escape_level to
207         go_create_gogo.
209 2016-05-06  Chris Manghane  <cmang@google.com>
211         * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
212         new escape.cc).
214 2016-04-29  Chris Manghane  <cmang@google.com>
216         * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
218 2016-04-18  Michael Matz  <matz@suse.de>
220         * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
222 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
224         * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
225         neighbour -> neighbor.
226         * gccgo.texi: Likewise.
228 2016-01-27  Ian Lance Taylor  <iant@google.com>
230         * go-lang.c (go_langhook_init_options_struct): Default to
231         -fkeep-gc-roots-live.
233 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
235         Update copyright years.
237         * gccgo.texi: Bump @copyrights-go year.
239 2015-12-21  Ian Lance Taylor  <iant@google.com>
241         * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.  Add
242         t_ and orig_type_ fields.  Add new two parameter constructor.  Add
243         get_tree and get_decl methods.
244         (Gcc_backend::var_expression): Pass location to var get_tree.
245         (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR.  Use
246         two parameter constructor for Bvariable.
247         (Gcc_backend::global_variable_set_init): Don't remove
248         VIEW_CONVERT_EXPR.  Use var get_decl, not get_tree.
249         (Gcc_backend::write_global_definitions): Likewise.
250         (Gcc_backend::init_statement): Call var get_decl, not get_tree.
251         (Gcc_backend::block): Likewise.
252         (Gcc_backend::implicit_variable_set_init): Likewise.
253         (Gcc_backend::immutable_struct_set_init): Likewise.
254         (Gcc_backend::function_set_parameters): Likewise.
256 2015-12-21  Ian Lance Taylor  <iant@google.com>
258         * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
259         add a VIEW_CONVERT_EXPR to the tree.
260         (Gcc_backend::global_variable_set_init): Remove any
261         VIEW_CONVERT_EXPR.
262         (Gcc_backend::write_global_definitions): Likewise.
264 2015-11-30  Ian Lance Taylor  <iant@google.com>
266         PR go/68477
267         * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
268         TYPE_STRING_FLAG on a variant type.
270 2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
272         * go-backend.c: Remove unused header files.
273         * go-gcc.cc: Likewise.
274         * go-lang.c: Likewise.
275         * gospec.c: Likewise.
277 2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
279         * go-backend.c: Reorder #include's and remove duplicates.
280         * go-lang.c: Likewise.
282 2015-10-20  Alan Modra  <amodra@gmail.com>
284         PR go/66870
285         * gospec.c (saw_opt_m32): Rename to..
286         (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
287         Update uses.
288         (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
290 2015-10-01  Ian Lance Taylor  <iant@google.com>
292         PR go/66870
293         * gospec.c (lang_specific_driver): Only look for OPT_m32 if
294         TARGET_CAN_SPLIT_STACK_64BIT is defined.
296 2015-10-01  Lynn Boger  <laboger@linux.vnet.ibm.com>
298         PR target/66870
299         * gospec.c (lang_specific_driver): Set appropriate split stack
300         options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
302 2015-09-10  Chris Manghane  <cmang@google.com>
304         * go-gcc.cc (Gcc_backend::type_size): Return -1 for
305         unrepresentable size.
307 2015-08-24  Marek Polacek  <polacek@redhat.com>
309         PR tree-optimization/67284
310         * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
311         Set TREE_THIS_VOLATILE.
312         (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
313         Pass false to the rest of define_builtin calls.
315 2015-07-31  Andreas Schwab  <schwab@linux-m68k.org>
317         * go-lang.c (go_langhook_init_options_struct): Don't set
318         x_flag_split_stack.
319         (go_langhook_post_options): Set it here instead.
321 2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
323         * gofrontend/backend.h: Fix double word typos.
324         * gofrontend/expressions.cc: Same.
325         * gospec.c: Same.
327 2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
329         * go-backend.c: Adjust includes.
330         * go-gcc.cc: Likewise.
331         * go-lang.c: Likewise.
333 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
335         * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
337 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
339         * go-backend.c: Do not include input.h, line-map.h or is-a.h.
340         * go-gcc.cc: Likewise.
341         * go-lang.c: Likewise.
342         * go-system.h: Likewise.
344 2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
346         * go-backend.c : Adjust include files.
347         * go-gcc.cc : Likewise.
348         * go-lang.c : Likewise.
350 2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
352         * go-gcc.cc (write_global_definitions): Remove call to
353         finalize_compilation_unit.
354         Remove Go specific debug generation.
355         * go-lang.c (go_langhook_parse_file): Call go_write_globals.
356         (go_langhook_write_globals): Remove.
357         Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
359 2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
361         * go-backend.c: Adjust includes for restructured coretypes.h.
362         * go-c.h: Likewise.
363         * go-gcc.cc: Likewise.
364         * go-lang.c: Likewise.
366 2015-04-30  Chris Manghane  <cmang@google.com>
368         * go-gcc.cc (Gcc_backend::stack_allocation_expression): New
369         method.
371 2015-04-27  Jim Wilson  <jim.wilson@linaro.org>
373         * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
375 2015-04-17  Chris Manghane  <cmang@google.com>
377         * Make-lang.in (GO_OBJS): Add go/escape.o.
379 2015-02-02  Ian Lance Taylor  <iant@google.com>
381         PR go/64836
382         PR go/64838
383         * go-gcc.cc (Gcc_backend::type_size): Change return type to
384         int64_t.
385         (Gcc_backend::type_alignment): Likewise.
386         (Gcc_backend::type_field_alignment): Likewise.
387         (Gcc_backend::type_field_offset): Likewise.
388         (Gcc_backend::implicit_variable): Change alignment parameter type
389         to int64_t.
391 2015-01-23  Ian Lance Taylor  <iant@google.com>
393         PR go/63565
394         * gccgo.texi (Invoking gccgo): Mention that Go programs should not
395         be stripped.
397         * gccgo.texi (C Interoperability): Mention that people should use
398         cgo.
400 2015-01-23  Ian Lance Taylor  <iant@google.com>
402         PR go/64595
403         * go-lang.c (go_langhook_init_options_struct): Set default
404         debug_info_level.
405         (go_langhook_post_options): If debug_info_level is still the
406         default, make sure write_symbols is set.
407         * gccgo.texi (Invoking gccgo): Document that -g1 is the default.
409 2015-01-16  Richard Henderson  <rth@redhat.com>
411         * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
412         (Gcc_backend::static_chain_variable): New method.
414 2015-01-09  Ian Lance Taylor  <iant@google.com>
416         * config-lang.in (lang_dirs): Define.
418 2015-01-09  Michael Collison  <michael.collison@linaro.org>
420         * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
421         input.h, alias.h, symtab.h, options.h, fold-const.h,
422         wide-int.h, and inchash.h due to flattening of tree.h.
423         * go-lang.c: Ditto.
424         * go-backend.c: Ditto.
426 2015-01-07  Chris Manghane  <cmang@google.com>
428         PR go/61204
429         * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
430         zero-sized variable.
432 2015-01-06  Chris Manghane  <cmang@google.com>
434         * go-gcc.cc (Gcc_backend::constructor_expression): Don't
435         initialize zero-sized fields, just evaluate the values for side
436         effects.
438 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
440         Update copyright years.
442         * gccgo.texi: Bump @copyrights-go year.
444 2014-12-19  Chris Manghane  <cmang@google.com>
446         * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
447         construct arrays of zero-sized values.
449 2014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
451         * go-lang.c: Remove redundant enum from machine_mode.
453 2014-10-28  Andrew MacLeod  <amacleod@redhat.com>
455         * go-gcc.cc: Adjust include files.
457 2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
459         * go-gcc.cc: Adjust include files.
460         * go-lang.c: Ditto.
462 2014-10-23  Ian Lance Taylor  <iant@google.com>
464         * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
465         mpc_t parameter instead of two mpfr_t parameters.
467 2014-09-15  Jakub Jelinek  <jakub@redhat.com>
469         * Make-lang.in (check_go_parallelize): Change to just an upper bound
470         number.
472 2014-09-03  Chris Manghane  <cmang@google.com>
474         * go-gcc.cc (Gcc_backend::implicit_variable): Remove init
475         parameter.  Add is_hidden parameter.
476         (Gcc_backend::implicit_variable_set_init): New method.
477         (Gcc_backend::implicit_variable_reference): New method.
479 2014-08-08  Ian Lance Taylor  <iant@google.com>
481         * go-gcc.cc (Gcc_backend::compound_statement): Don't return
482         NULL_TREE.
484 2014-07-24  Uros Bizjak  <ubizjak@gmail.com>
486         * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
487         symtab_get_node to symtab_node::get.
489 2014-06-13  Ian Lance Taylor  <iant@google.com>
491         PR go/61496
492         * gospec.c (lang_specific_driver): On Solaris, when not using GNU
493         ld, add -t option to avoid warning about common symbol changing
494         size.
496 2014-06-10  Jan Hubicka  <hubicka@ucw.cz>
498         * go-gcc.cc (Gcc_backend::global_variable_set_init): Use
499         symtab_get_node(var_decl)->implicit_section.
501 2014-06-07  Jan Hubicka  <hubicka@ucw.cz>
503         * go-gcc.cc (global_variable_set_init): Use
504         set_decl_section_name.
506 2014-06-04  Ian Lance Taylor  <iant@google.com>
508         * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
509         alignment parameters.  Permit init parameter to be NULL.
511 2014-06-02  Andrew MacLeod  <amacleod@redhat.com>
513         * go-gcc.cc: Include builtins.h.
515 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
517         * go-lang.c (struct GTY): Don't use variable_size gty attribute.
519 2014-05-06  Chris Manghane  <cmang@google.com>
521         * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
522         (Gcc_backend::boolean_constant_expression): New method.
523         (Gcc_backend::zero_expression): Use this->make_expression rather
524         than tree_to_expr.
525         (Gcc_backend::var_expression): Likewise.
526         (Gcc_backend::integer_constant_expression): Likewise.
527         (Gcc_backend::float_constant_expression): Likewise.
528         (Gcc_backend::complex_constant_expression): Likewise.
529         (Gcc_backend::struct_field_expression): Likewise.
530         (tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
531         (tree_to_function, tree_to_block): Remove functions.
532         (type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
533         (block_to_tree, var_to_tree, function_to_tree): Remove functions.
535 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
536             Mike Stump  <mikestump@comcast.net>
537             Richard Sandiford  <rdsandiford@googlemail.com>
539         * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
541 2014-05-06  Chris Manghane  <cmang@google.com>
543         * go-c.h (go_create_gogo): Update declaration to add
544         check_divide_zero and check_divide_overflow parameters.
545         * go-lang.c (go_langhook_init): Pass new arguments to
546         go_create_gogo.
548 2014-05-05  Chris Manghane  <cmang@google.com>
550         * go-gcc.cc (Gcc_backend::implicit_variable): Rename from
551         gc_root_variable.  Add name and is_constant parameters.
553 2014-05-05  Chris Manghane  <cmang@google.com>
555         * go-gcc.cc (Gcc_backend::indirect_expression): Add btype
556         parameter.
557         (Gcc_backend::temporary_variable): Check for erroneous function.
559 2014-04-30  Chris Manghane  <cmang@google.com>
561         * go-backend.c: #include "diagnostics.h".
562         (saw_errors): New function.
563         * go-c.h (saw_errors): Declare.
564         * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
566 2014-04-30  Chris Manghane  <cmang@google.com>
568         * go-lang.c (go_langhook_type_for_size): Do it here, rather than
569         calling into Go frontend.
570         (go_langhook_type_for_mode): Likewise.
571         * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
573 2014-04-30  Chris Manghane  <cmang@google.com>
575         * go-gcc.cc: #include "langhooks.h".
576         (Gcc_backend::Gcc_backend): Add constructor.
577         (Gcc_backend::lookup_function): New function.
578         (Gcc_backend::define_builtin): New private function.
579         (Gcc_backend::gcc_backend): Remove.
580         (go_get_backend): Use new to create new Gcc_backend.
582 2014-04-25  Chris Manghane  <cmang@google.com>
584         * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
585         (Gcc_backend::return_statement): Push and pop function.
586         (Gcc_backend::label): Likewise.
587         (Gcc_backend::function_defer_statement): Likewise.
588         (Gcc_backend::switch_statement): Add function parameter.
589         (Gcc_backend::block): Don't permit function to be NULL.
590         (Gcc_backend::temporary_variable): Change go_assert to
591         gcc_assert.
592         (Gcc_backend::gc_root_variable): New function.
593         (Gcc_backend::write_global_definitions): New function.
595 2014-04-22  Chris Manghane  <cmang@google.com>
597         * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
598         call to create_tmp_var.  Require that function be non-NULL.
600 2014-04-17  Chris Manghane  <cmang@google.com>
602         * go-gcc.cc (Gcc_backend::named_constant_expression): New
603         function.
605 2014-04-14  Chris Manghane  <cmang@google.com>
607         * go-gcc.cc: Include "convert.h".
608         (Gcc_backend::string_constant_expression): New function.
609         (Gcc_backend::real_part_expression): Likewise.
610         (Gcc_backend::imag_part_expression): Likewise.
611         (Gcc_backend::complex_expression): Likewise.
612         (Gcc_backend::constructor_expression): Likewise.
613         (Gcc_backend::array_constructor_expression): Likewise.
614         (Gcc_backend::pointer_offset_expression): Likewise.
615         (Gcc_backend::array_index_expression): Likewise.
616         (Gcc_backend::call_expression): Likewise.
617         (Gcc_backend::exception_handler_statement): Likewise.
618         (Gcc_backend::function_defer_statement): Likewise.
619         (Gcc_backend::function_set_parameters): Likewise.
620         (Gcc_backend::function_set_body): Likewise.
621         (Gcc_backend::convert_expression): Handle various type
622         conversions.
624 2014-03-03  Ian Lance Taylor  <iant@google.com>
626         * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
627         DECL_WEAK.
628         (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
629         DECL_WEAK.
631 2014-01-24  Chris Manghane  <cmang@google.com>
633         * go-gcc.cc (Gcc_backend::unary_expression): New function.
635 2014-01-16  Chris Manghane  <cmang@google.com>
637         * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
638         parameter.
639         (operator_to_tree_code): New static function.
640         (Gcc_backend::binary_expression): New function.
642 2014-01-14  Chris Manghane  <cmang@google.com>
644         * go-gcc.cc (Gcc_backend::compound_expression): New function.
645         (Gcc_backend::conditional_expression): New function.
647 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
649         Update copyright years
651 2014-01-02  Tobias Burnus  <burnus@net-b.de>
653         * gccgo.texi: Bump @copying's copyright year.
655 2013-12-16  Chris Manghane  <cmang@google.com>
657         * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
659 2013-12-11  Ian Lance Taylor  <iant@google.com>
661         * go-lang.c (go_langhook_post_options): Disable sibling calls by
662         default.
664 2013-12-10  Ian Lance Taylor  <iant@google.com>
666         * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
667         separately.
669 2013-12-05  Ian Lance Taylor  <iant@google.com>
671         Revert this change; no longer required.
672         2013-11-06  Ian Lance Taylor  <iant@google.com>
674         * go-lang.c (go_langhook_post_options): If
675         -fisolate-erroneous-paths was turned on by an optimization option,
676         turn it off.
678 2013-11-23  Ian Lance Taylor  <iant@google.com>
680         * go-gcc.cc (Gcc_backend::function_type): Add result_struct
681         parameter.
683 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
685         * go-gcc.cc: Add required include files from gimple.h.
686         * go-lang.c: Likewise
688 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
690         * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
691         tree_to_shwi throughout.
693 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
695         * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
696         tree_fits_shwi_p throughout.
698 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
700         * go-lang.c: Include only gimplify.h and gimple.h as needed.
702 2013-11-14  Diego Novillo  <dnovillo@google.com>
704         * go-backend.c: Include stor-layout.h.
705         * go-gcc.cc: Include stringpool.h.
706         Include stor-layout.h.
707         Include varasm.h.
708         * go-lang.c: Include stor-layout.h.
710 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
712         * go-lang.c: Include gimplify.h.
714 2013-11-06  Ian Lance Taylor  <iant@google.com>
716         * go-lang.c (go_langhook_post_options): If
717         -fisolate-erroneous-paths was turned on by an optimization option,
718         turn it off.
720 2013-10-14  Chris Manghane  <cmang@google.com>
722         * go-gcc.cc (Gcc_backend::address_expression): New function.
724 2013-10-11  Chris Manghane  <cmang@google.com>
726         * go-gcc.cc (Gcc_backend::function_code_expression): New
727         function.
729 2013-10-10  Chris Manghane  <cmang@google.com>
731         * go-gcc.cc (Gcc_backend::error_function): New function.
732         (Gcc_backend::function): New function.
733         (Gcc_backend::make_function): New function.
734         (function_to_tree): New function.
736 2013-10-04  Chris Manghane  <cmang@google.com>
738         * go-gcc.cc (Gcc_backend::convert_expression): New function.
740 2013-10-02  Chris Manghane  <cmang@google.com>
742         * go-gcc.cc: Include "real.h" and "realmpfr.h".
743         (Gcc_backend::integer_constant_expression): New function.
744         (Gcc_backend::float_constant_expression): New function.
745         (Gcc_backend::complex_constant_expression): New function.
747 2013-09-30  Chris Manghane  <cmang@google.com>
749         * go-gcc.cc (Gcc_backend::error_expression): New function.
750         (Gcc_backend::var_expression): New function.
751         (Gcc_backend::indirect_expression): New function.
753 2013-09-25  Tom Tromey  <tromey@redhat.com>
755         * Make-lang.in (gospec.o): Remove.
756         (CFLAGS-go/gospec.o): New variable.
757         (GCCGO_OBJS): Update to use go/gospec.o.
758         (go_OBJS): Define.
759         (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
760         (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
761         (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
762         (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
763         (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
764         (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
765         (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
766         (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
767         (go/unsafe.o): Remove.
768         (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
769         (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
771 2013-09-25  Tom Tromey  <tromey@redhat.com>
773         * Make-lang.in (gospec.o): Don't use subshell.
775 2013-08-28  Ian Lance Taylor  <iant@google.com>
777         * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
778         the struct is not hidden.
779         (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
781 2013-08-06  Ian Lance Taylor  <iant@google.com>
783         * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
784         compute_reloc_for_constant.
786 2013-08-02  Ian Lance Taylor  <iant@google.com>
788         * go-gcc.cc (immutable_struct_set_init): Always call
789         resolve_unique_section.
791 2013-07-24  Ian Lance Taylor  <iant@google.com>
793         * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
794         fields, recreate those fields with the first one with a non-zero
795         size.
797 2013-07-23  Ian Lance Taylor  <iant@google.com>
799         * go-backend.c: Don't #include "rtl.h".
800         (go_imported_unsafe): Don't call init_varasm_once.
801         * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
803 2013-07-23  Ian Lance Taylor  <iant@google.com>
805         * go-lang.c: Don't #include "except.h".
806         * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
808 2013-06-18  Ian Lance Taylor  <iant@google.com>
810         * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
811         parameter.
812         (Gcc_backend::immutable_struct_set_init): Likewise.
814 2013-05-16  Jason Merrill  <jason@redhat.com>
816         * Make-lang.in (go1$(exeext)): Use link mutex.
818 2013-01-16  Shenghou Ma  <minux.ma@gmail.com>
820         * gospec.c: pass -u pthread_create to linker when static linking.
822 2012-12-21  Ian Lance Taylor  <iant@google.com>
824         PR bootstrap/54659
825         * go-system.h: Don't include <cstdio>.
827 2012-12-18  Ian Lance Taylor  <iant@google.com>
829         PR go/55201
830         * gospec.c: Revert last patch.
832 2012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
834         PR go/55201
835         * gospec.c (LIBATOMIC): Define.
836         (LIBATOMIC_PROFILE): Define.
837         (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
839 2012-11-29  Ian Lance Taylor  <iant@google.com>
841         * go-gcc.cc: Include "output.h".
842         (global_variable): Add is_unique_section parameter.
843         (global_variable_set_init): Adjust unique section if necessary.
844         * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
846 2012-11-17  Diego Novillo  <dnovillo@google.com>
848         Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
850         * go-lang.c: Use new vec API in vec.h.
852 2012-11-16  Ian Lance Taylor  <iant@google.com>
854         * Make-lang.in (gccgo$(exeext)): Add + at start of command.
855         (go1$(exeext)): Likewise.
857 2012-10-30  Ian Lance Taylor  <iant@google.com>
859         * lang.opt (-fgo-relative-import-path): New option.
860         * go-lang.c (go_relative_import_path): New static variable.
861         (go_langhook_init): Pass go_relative_import_path to
862         go_create_gogo.
863         (go_langhook_handle_option): Handle -fgo-relative-import-path.
864         * go-c.h (go_create_gogo): Update declaration.
865         * gccgo.texi (Invoking gccgo): Document
866         -fgo-relative-import-path.
868 2012-09-17  Ian Lance Taylor  <iant@google.com>
870         * config-lang.in (target_libs): Add target-libbacktrace.
872 2012-09-16  Ian Lance Taylor  <iant@google.com>
874         * Make-lang.in (go/gogo.o): Depend on filenames.h.
876 2012-08-14   Diego Novillo  <dnovillo@google.com>
878         Merge from cxx-conversion branch.  Configury.
880         * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
881         * go-gcc.cc: Likewise.
882         * go-system.h: Likewise.
884 2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
886         * go-lang.c (lang_decl): Add variable_size GTY option.
888 2012-05-09  Ian Lance Taylor  <iant@google.com>
890         * lang.opt: Add -fgo-pkgpath.
891         * go-lang.c (go_pkgpath): New static variable.
892         (go_prefix): New static variable.
893         (go_langhook_init): Pass go_pkgpath and go_prefix to
894         go_create_gogo.
895         (go_langhook_handle_option): Handle -fgo-pkgpath.  Change
896         -fgo-prefix handling to just set go_prefix.
897         * go-c.h (go_set_prefix): Don't declare.
898         (go_create_gogo): Add pkgpath and prefix to declaration.
899         * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
900         to pkgpath.  Don't include the package name in the asm name.
901         * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
902         docs for -fgo-prefix.
904 2012-04-23  Ian Lance Taylor  <iant@google.com>
906         * go-lang.c (go_langhook_init): Set MPFR precision to 256.
908 2012-04-20  Ian Lance Taylor  <iant@google.com>
910         * lang.opt: Add -fgo-check-divide-zero and
911         -fgo-check-divide-overflow.
912         * gccgo.texi (Invoking gccgo): Document new options.
914 2012-04-18  Steven Bosscher  <steven@gcc.gnu.org>
916         * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
917         with NULL_TREE type instead of void_type_node.
919 2012-03-09  Ian Lance Taylor  <iant@google.com>
921         * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
922         to the lhs type if necessary.
924 2012-03-08  Ian Lance Taylor  <iant@google.com>
926         * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
927         zero-sized variable.
928         (go_non_zero_struct): New global variable.
929         (Gcc_backend::non_zero_size_type): New function.
930         (Gcc_backend::global_variable): Don't build an assignment for a
931         zero-sized value.
932         * go-c.h (go_non_zero_struct): Declare.
933         * config-lang.in (gtfiles): Add go-c.h.
935 2012-02-29  Ian Lance Taylor  <iant@google.com>
937         * go-gcc.cc (class Gcc_tree): Add set_tree method.
938         (set_placeholder_pointer_type): When setting to a pointer to
939         error, set to error_mark_node.
941 2012-02-23  Richard Guenther  <rguenther@suse.de>
943         * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
944         build_distinct_type_copy.
946 2012-02-17  Ian Lance Taylor  <iant@google.com>
948         * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
950 2012-02-17  Ian Lance Taylor  <iant@google.com>
952         * gospec.c (lang_specific_driver): If linking, and no -o option
953         was used, add one.
955 2012-02-14  Ian Lance Taylor  <iant@google.com>
957         PR go/48411
958         * Make-lang.in (gccgo-cross$(exeext)): New target.
959         (go.all.cross): Depend on gccgo-cross$(exeext) instead of
960         gccgo$(exeext).
961         (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
962         gccgo-cross$(exeext) does not exist.
964 2012-02-07  Ian Lance Taylor  <iant@google.com>
966         * gccgo.texi (Function Names): Document //extern instead of
967         __asm__.
969 2012-02-01  Jakub Jelinek  <jakub@redhat.com>
971         PR target/52079
972         * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
973         return build_nonstandard_integer_type result if possible.
975 2012-01-21  Ian Lance Taylor  <iant@google.com>
977         * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
978         (Gcc_backend::type_alignment): Likewise.
979         (Gcc_backend::type_field_alignment): Likewise.
980         (Gcc_backend::type_field_offset): Likewise.
982 2012-01-20  Ian Lance Taylor  <iant@google.com>
984         * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
985         be empty.
986         (Gcc_backend::set_placeholder_struct_type): Likewise.
988 2012-01-17  Ian Lance Taylor  <iant@google.com>
990         * gospec.c (lang_specific_driver): If we see -S without -o, add -o
991         BASE.s rather than -o BASE.o.
993 2012-01-11  Ian Lance Taylor  <iant@google.com>
995         * go-lang.c (go_langhook_init): Initialize void_list_node before
996         calling go_create_gogo.
998 2012-01-10  Ian Lance Taylor  <iant@google.com>
1000         * go-gcc.cc (Gcc_backend::type_size): New function.
1001         (Gcc_backend::type_alignment): New function.
1002         (Gcc_backend::type_field_alignment): New function.
1003         (Gcc_backend::type_field_offset): New function.
1004         * go-backend.c (go_type_alignment): Remove.
1005         * go-c.h (go_type_alignment): Don't declare.
1007 2011-12-27  Ian Lance Taylor  <iant@google.com>
1009         * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
1010         build_distinct_type_copy rather than build_variant_type_copy.
1011         (Gcc_backend::set_placeholder_array_type): Likewise.
1012         (Gcc_backend::named_type): Add special handling for builtin
1013         basic types.
1015 2011-12-22  Ian Lance Taylor  <iant@google.com>
1017         * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
1018         for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
1019         (Gcc_backend::set_placeholder_struct_type): Likewise.
1020         (Gcc_backend::set_placeholder_array_type): Likewise.
1021         (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
1023 2011-12-13  Ian Lance Taylor  <iant@google.com>
1025         * go-backend.c: #include "simple-object.h" and "intl.h".
1026         (GO_EXPORT_SEGMENT_NAME): Define if not defined.
1027         (GO_EXPORT_SECTION_NAME): Likewise.
1028         (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
1029         (go_read_export_data): New function.
1030         * go-c.h (go_read_export_data): Declare.
1032 2011-11-29  Sanjoy Das  <thedigitalangel@gmail.com>
1033             Ian Lance Taylor  <iant@google.com>
1035         * go-location.h: New file.
1036         * go-linemap.cc: New file.
1037         * go-gcc.cc: Change all uses of source_location to Location.
1038         * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1039         (GO_LINEMAP_H): New variable.
1040         (GO_LEX_H): Use $(GO_LINEMAP_H).
1041         (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1042         (go/go-linemap.o): New target.
1044 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1046         * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1048 2011-08-24  Roberto Lublinerman  <rluble@gmail.com>
1050         * lang.opt: Add fgo-optimize-.
1051         * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1052         * go-c.h (go_enable_optimize): Declare.
1053         * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1054         (GO_EXPORT_H): Define.
1055         (GO_IMPORT_H): Add $(GO_EXPORT_H).
1056         (GO_AST_DUMP_H): Define.
1057         (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1058         (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1059         (go/types.o): Likewise.
1060         (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1061         (go/go-optimize.o): New target.
1063 2011-08-24  Joseph Myers  <joseph@codesourcery.com>
1065         * Make-lang.in (CFLAGS-go/go-lang.o): New.
1066         (go/go-lang.o): Remove explicit compilation rule.
1068 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1070         * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1072 2011-08-02  Roberto Lublinerman  <rluble@gmail.com>
1074         * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1075         (go/ast-dump.o): New target.
1076         (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1077         (go/statements.o): Likewise.
1079 2011-07-06  Richard Guenther  <rguenther@suse.de>
1081         * go-lang.c (go_langhook_init):
1082         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1084 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1086         * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1087         dependencies.
1088         * go-backend.c: Include common/common-target.h.
1089         (go_write_export_data): Use targetm_common.have_named_sections.
1090         * go-lang.c: Include common/common-target.h.
1091         (go_langhook_init_options_struct): Use
1092         targetm_common.supports_split_stack.
1094 2011-06-13  Ian Lance Taylor  <iant@google.com>
1096         * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1098 2011-06-10  Ian Lance Taylor  <iant@google.com>
1100         * go-gcc.cc: Include "toplev.h".
1101         (Gcc_backend::immutable_struct): New function.
1102         (Gcc_backend::immutable_struct_set_init): New function.
1103         (Gcc_backend::immutable_struct_reference): New function.
1104         * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1106 2011-06-09  Ian Lance Taylor  <iant@google.com>
1108         * go-gcc.cc (Gcc_backend::zero_expression): New function.
1110 2011-06-07  Richard Guenther  <rguenther@suse.de>
1112         * go-lang.c (go_langhook_init): Do not set
1113         size_type_node or call set_sizetype.
1115 2011-05-27  Ian Lance Taylor  <iant@google.com>
1117         * go-backend.c: Include "output.h".
1118         (go_write_export_data): New function.
1119         * go-c.h (go_write_export_data): Declare.
1120         * Make-lang.in (go/go-backend.o): Depend on output.h.
1121         (go/export.o): Depend on $(GO_C_H).  Do not depend on
1122         $(MACHMODE_H), output.h, or $(TARGET_H).
1124 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
1126         * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1127         (gccgo$(exeext)): Use libcommon-target.a.
1129 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
1131         * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1133 2011-05-13  Ian Lance Taylor  <iant@google.com>
1135         * go-gcc.cc (Gcc_backend::function_type): When building a struct
1136         for multiple results, check that all fields types have a size.
1137         (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1139 2011-05-12  Ian Lance Taylor  <iant@google.com>
1141         * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1142         parameter.
1143         (Gcc_backend::parameter_variable): Likewise.
1145 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
1147         * go-lang.c (global_bindings_p): Return bool and simplify.
1149 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1151         * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1153 2011-05-04  Ian Lance Taylor  <iant@google.com>
1155         * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1156         (Gcc_backend::fill_in_struct): New function.
1157         (Gcc_backend::array_type): Implement.
1158         (Gcc_backend::fill_in_array): New function.
1159         (Gcc_backend::placeholder_pointer_type): New function.
1160         (Gcc_backend::set_placeholder_pointer_type): New function.
1161         (Gcc_backend::set_placeholder_function_type): New function.
1162         (Gcc_backend::placeholder_struct_type): New function.
1163         (Gcc_backend::set_placeholder_struct_type): New function.
1164         (Gcc_backend::placeholder_array_type): New function.
1165         (Gcc_backend::set_placeholder_array_type): New function.
1166         (Gcc_backend::named_type): New function.
1167         (Gcc_backend::circular_pointer_type): New function.
1168         (Gcc_backend::is_circular_pointer_type): New function.
1170 2011-04-26  Ian Lance Taylor  <iant@google.com>
1172         * go-gcc.cc (Gcc_backend::struct_type): Implement.
1174 2011-04-25  Ian Lance Taylor  <iant@google.com>
1176         * go-gcc.cc (Gcc_backend::error_type): Implement.
1177         (Gcc_backend::string_type): Remove.
1178         (Gcc_backend::function_type): Change signature and implement.
1179         (Gcc_backend::struct_type): Change signature.
1180         (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1181         (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1182         (Gcc_backend::pointer_type): Check for error.
1183         * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1185 2011-04-25  Evan Shaw  <edsrzf@gmail.com>
1187         * go-gcc.c (class Gcc_tree): Make get_tree const.
1188         (Gcc_backend::void_type): Implement.
1189         (Gcc_backend::bool_type): Implement.
1190         (Gcc_backend::integer_type): Implement.
1191         (Gcc_backend::float_type): Implement.
1192         (Gcc_backend::complex_type): New function.
1193         (Gcc_backend::pointer_type): New function.
1194         (Gcc_backend::make_type): New function.
1195         (type_to_tree): New function.
1197 2011-04-21  Ian Lance Taylor  <iant@google.com>
1199         * go-system.h (go_assert, go_unreachable): Define.
1201 2011-04-19  Ian Lance Taylor  <iant@google.com>
1203         * go-system.h: Include "intl.h".
1204         * Make-lang.in (GO_SYSTEM_H): Add intl.h.
1205         (go/statements.o): Remove dependencies on intl.h $(TREE_H)
1206         $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1208 2011-04-19  Ian Lance Taylor  <iant@google.com>
1210         * go-gcc.cc (Gcc_backend::temporary_variable): New function.
1212 2011-04-19  Ian Lance Taylor  <iant@google.com>
1214         * go-gcc.cc (class Bblock): Define.
1215         (Gcc_backend::if_statement): Change then_block and else_block to
1216         Bblock*.
1217         (Gcc_backend::block): New function.
1218         (Gcc_backend::block_add_statements): New function.
1219         (Gcc_backend::block_statement): New function.
1220         (tree_to_block, block_to_tree): New functions.
1222 2011-04-18  Ian Lance Taylor  <iant@google.com>
1224         * go-gcc.cc: Include "go-c.h".
1225         (class Bvariable): Define.
1226         (Gcc_backend::init_statement): New function.
1227         (Gcc_backend::global_variable): New function.
1228         (Gcc_backend::global_variable_set_init): New function.
1229         (Gcc_backend::local_variable): New function.
1230         (Gcc_backend::parameter_variable): New function.
1231         (tree_to_type, var_to_tree): New functions.
1232         * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1233         * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1235 2011-04-15  Ian Lance Taylor  <iant@google.com>
1237         * go-gcc.cc (Gcc_backend::compound_statement): New function.
1238         (Gcc_backend::assignment_statement): Use error_statement.
1239         (Gcc_backend::return_statement): Likewise.
1240         (Gcc_backend::if_statement): Likewise.
1241         (Gcc_backend::switch_statement): Likewise.
1242         (Gcc_backend::statement_list): Likewise.
1244 2011-04-14  Ian Lance Taylor  <iant@google.com>
1246         * go-gcc.cc (Gcc_backend::error_statement): New function.
1248 2011-04-13  Ian Lance Taylor  <iant@google.com>
1250         * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1252 2011-04-13  Ian Lance Taylor  <iant@google.com>
1254         * Make-lang.in (GO_OBJS): Add go/runtime.o.
1255         (GO_RUNTIME_H): New variable.
1256         (go/runtime.o): New target.
1257         (go/gogo.o): Depend on $(GO_RUNTIME_H).
1258         (go/statements.o): Likewise.
1260 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1262         * go-lang.c (union lang_tree_node): Check for TS_COMMON before
1263         calling TREE_CHAIN.
1265 2011-04-06  Ian Lance Taylor  <iant@google.com>
1267         * go-gcc.cc (if_statement): Use build3_loc.
1268         (Gcc_backend::switch_statement): New function.
1269         (Gcc_backend::statement_list): New function.
1271 2011-04-06  Ian Lance Taylor  <iant@google.com>
1273         * go-gcc.cc (Gcc_backend::if_statement): New function.
1274         (tree_to_stat): New function.
1275         (expr_to_tree): Renamed from expression_to_tree.
1276         (stat_to_tree): Renamed from statement_to_tree.
1278 2011-04-06  Ian Lance Taylor  <iant@google.com>
1280         * go-gcc.cc (Gcc_backend::expression_statement): New function.
1282 2011-04-04  Ian Lance Taylor  <iant@google.com>
1284         * go-gcc.c (class Blabel): Define.
1285         (Gcc_backend::make_expression): New function.
1286         (get_identifier_from_string): New function.
1287         (Gcc_backend::label): New function.
1288         (Gcc_backend::label_definition_statement): New function.
1289         (Gcc_backend::goto_statement): New function.
1290         (Gcc_backend::label_address): New function.
1291         (expression_to_tree): New function.
1292         * Make-lang.in (go/expressions.o): Depend on
1293         go/gofrontend/backend.h.
1294         (go/gogo.o): Likewise.
1296 2011-04-04  Ian Lance Taylor  <iant@google.com>
1298         * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1299         (class Bfunction): Define.
1300         (Gcc_backend::assignment_statement): Rename from assignment.
1301         Check for errors.
1302         (Gcc_backend::return_statement): New function.
1303         (tree_to_function): New function.
1304         * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1305         $(GIMPLE_H), and $(GO_GOGO_H).
1307 2011-04-03  Ian Lance Taylor  <iant@google.com>
1309         * go-gcc.cc: New file.
1310         * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1311         (go/go-gcc.o): New target.
1312         (go/go.o): Depend on go/gofrontend/backend.h.
1313         (go/statements.o): Likewise.
1315 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1317         * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1319 2011-02-08  Ian Lance Taylor  <iant@google.com>
1321         * go-lang.c (go_langhook_init_options_struct): Set
1322         frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.
1324 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1326         * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1327         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1329 2011-01-21  Ian Lance Taylor  <iant@google.com>
1331         * go-lang.c (go_langhook_init): Omit float_type_size when calling
1332         go_create_gogo.
1333         * go-c.h: Update declaration of go_create_gogo.
1335 2011-01-13  Ian Lance Taylor  <iant@google.com>
1337         * go-backend.c: Include "rtl.h" and "target.h".
1338         (go_imported_unsafe): New function.
1339         * go-c.h (go_imported_unsafe): Declare.
1340         * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
1341         (go/gogo-tree.o): Remove dependency on $(RTL_H).
1342         (go/unsafe.o): Depend on $(GO_C_H).
1344 2010-12-31  Joern Rennecke  <amylaar@spamcop.net>
1346         PR go/47113
1347         * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
1348         variable ‘field’ .
1350 2010-12-21  Ian Lance Taylor  <iant@google.com>
1352         * Make-lang.in (check-go): Remove.
1353         (lang_checks_parallelized): Add check-go.
1354         (check_go_parallelize): Set.
1356 2010-12-13  Ian Lance Taylor  <iant@google.com>
1358         * gospec.c (lang_specific_driver): Add a -o option if not linking
1359         and there is no -o option already.
1361 2010-12-07  Ian Lance Taylor  <iant@google.com>
1363         PR tree-optimization/46805
1364         PR tree-optimization/46833
1365         * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
1367 2010-12-06  Ian Lance Taylor  <iant@google.com>
1369         PR other/46789
1370         PR bootstrap/46812
1371         * go-lang.c (go_char_p): Define type and vectors.
1372         (go_search_dirs): New static variable.
1373         (go_langhook_handle_option): Use version and version/machine
1374         directories for -L.
1375         (go_langhook_post_options): Add non-specific -L paths.
1376         * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
1377         DEFAULT_TARGET_MACHINE when compiling.
1378         * gccgo.texi (Invoking gccgo): Only document -L for linking.
1379         (Import and Export): Don't mention -L for finding import files.
1381 2010-12-03  Ian Lance Taylor  <iant@google.com>
1383         PR bootstrap/46776
1384         * go-backend.c: New file.
1385         * go-c.h (go_type_alignment): Declare.
1386         (go_field_alignment, go_trampoline_info): Declare.
1387         * Make-lang.in (GO_OBJS): Add go/go-backend.o.
1388         (go/go-backend.o): New target.
1389         (go/go-lang.o): Make dependencies match source file.
1390         (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
1391         (go/gogo-tree.o): Don't depend on $(TM_H).
1393 2010-12-03  Ian Lance Taylor  <iant@google.com>
1395         * config-lang.in (build_by_default): Set to no.
1397 2010-12-02  Ian Lance Taylor  <iant@google.com>
1399         Go frontend added to gcc repository.
1401 Copyright (C) 2010-2017 Free Software Foundation, Inc.
1403 Copying and distribution of this file, with or without modification,
1404 are permitted in any medium without royalty provided the copyright
1405 notice and this notice are preserved.