* tree-vect-loop-manip.c (vect_do_peeling): Do not use
[official-gcc.git] / gcc / go / ChangeLog
blob947f49cd48bf55ce5ccf953340b71e46c0d05c2f
1 2017-11-14  Than McIntosh  <thanm@google.com>
3         * go-gcc.cc (var_expression): Remove Varexpr_context parameter.
5 2017-10-11  Tony Reix  <tony.reix@atos.net>
7         * go-system.h (__STDC_FORMAT_MACROS): Define before including any
8         system header files, as is done in ../system.h.
10 2017-10-05  Ian Lance Taylor  <iant@golang.org>
12         * Make-lang.in (GO_OBJS): Add go/names.o.
14 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
15             Alan Hayward  <alan.hayward@arm.com>
16             David Sherwood  <david.sherwood@arm.com>
18         * go-lang.c (go_langhook_type_for_mode): Use is_complex_float_mode.
20 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
21             Alan Hayward  <alan.hayward@arm.com>
22             David Sherwood  <david.sherwood@arm.com>
24         * go-lang.c (go_langhook_type_for_mode): Use is_int_mode.
26 2017-08-30  Richard Sandiford  <richard.sandiford@linaro.org>
27             Alan Hayward  <alan.hayward@arm.com>
28             David Sherwood  <david.sherwood@arm.com>
30         * go-lang.c (go_langhook_type_for_mode): Use is_float_mode.
32 2017-08-07  Martin Liska  <mliska@suse.cz>
34         * go-gcc.cc (Gcc_backend::function): Look up for no_split_stack
35         and not __no_split_stack__.
37 2017-07-27    Tony Reix  <tony.reix@atos.net>
39         * go-backend.c (go_write_export_data): Use EXCLUDE section for
40         AIX.
42 2017-06-09  Ian Lance Taylor  <iant@golang.org>
44         * go-lang.c (go_langhook_post_options): If -fsplit-stack is turned
45         on, disable implicit -forder-blocks-and-partition.
47 2017-05-12  Than McIntosh  <thanm@google.com>
49         * go-gcc.cc (Gcc_backend::call_expression): Add caller parameter.
51 2017-05-11  Ian Lance Taylor  <iant@google.com>
53         PR go/64238
54         * go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
55         DECL_EXTERNAL, clear TREE_STATIC.
57 2017-05-10  Than McIntosh  <thanm@google.com>
59         * go-backend.c: Include "go-c.h".
60         * go-gcc.cc (Gcc_backend::write_export_data): New method.
62 2017-05-10  Ian Lance Taylor  <iant@google.com>
64         * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
65         __builtin_prefetch.
66         * Make-lang.in (GO_OBJS): Add go/wb.o.
68 2017-03-28  Than McIntosh  <thanm@google.com>
70         PR go/80226
71         * go-gcc.cc (Gcc_backend::return_statement): Check for
72         void_type_node when checking result size.
74 2017-02-20  Ian Lance Taylor  <iant@golang.org>
76         PR go/79642
77         * lang.opt (-fgo-relative-import-path): Change space to tab.
79 2017-02-07  Richard Biener  <rguenther@suse.de>
81         PR tree-optimization/79256
82         PR middle-end/79278
83         * go-backend.c (go_field_alignment): Adjust.
85 2017-01-11  Than McIntosh  <thanm@google.com>
87         * go-gcc.cc (conditional_expression): Add Bfunction parameter.
89 2017-01-01  Jakub Jelinek  <jakub@redhat.com>
91         Update copyright years.
93         * gccgo.texi: Bump @copyrights-go year.
95 2016-12-16  Than McIntosh  <thanm@google.com>
97         * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
98         parameter.
99         (Gcc_backend::init_statement): Likewise.
100         (Gcc_backend::assignment_statement): Likewise.
101         (Gcc_backend::if_statement): Likewise.
103 2016-12-06  Than McIntosh  <thanm@google.com>
105         * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
106         parameter.
108 2016-11-22  Than McIntosh  <thanm@google.com>
110         * go-gcc.cc (char_needs_encoding): Remove.
111         (needs_encoding, fetch_utf8_char, encode_id): Remove.
112         (Gcc_backend::global_variable): Add asm_name parameter.  Don't
113         compute asm_name here.
114         (Gcc_backend::implicit_variable): Likewise.
115         (Gcc_backend::implicit_variable_reference): Likewise.
116         (Gcc_backend::immutable_struct): Likewise.
117         (Gcc_backend::immutable_struct_reference): Likewise.
118         * Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
120 2016-11-22  Ian Lance Taylor  <iant@google.com>
122         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
123         __builtin_frame_address.
125 2016-10-25  David Malcolm  <dmalcolm@redhat.com>
127         * go-lang.c (go_langhook_type_for_mode): Remove redundant cast
128         from result of GET_MODE_CLASS.  Minor formatting fixes.
130 2016-10-13  Thomas Preud'homme  <thomas.preudhomme@arm.com>
132         * go-backend.c: Include memmodel.h.
134 2016-10-10  Than McIntosh  <thanm@google.com>
136         * go-gcc.h: New file.
137         * go-c.h (struct go_create_gogo_args): Add backend and linemap
138         fields.
139         * go-lang.c: Include "go-gcc.h".
140         (go_langhook_init): Set linemap and backend fields of args.
141         * go-gcc.cc: Include "go-gcc.h".
142         * go-linemap.cc: Include "go-gcc.h".
144 2016-10-10  Than McIntosh  <thanm@google.com>
146         * go-linemap.cc (Gcc_linemap::location_line): New method.
148 2016-10-10  Eric Botcazou  <ebotcazou@adacore.com>
150         * config-lang.in (lang_requires_boot_languages): Delete.
152 2016-10-06  Chris Manghane  <cmang@google.com>
154         * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
155         returned memory.
157 2016-09-27  Than McIntosh  <thanm@google.com>
159         * go-linemap.cc (Gcc_linemap::to_string): New method.
161 2016-09-23  Than McIntosh  <thanm@google.com>
163         * go-gcc-diagnostics.cc: New file.
164         * go-location.h (Location): Remove operator source_location.  Add
165         operator==.
166         * go-system.h: #include <sstream>.
167         * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
168         go/go-gcc-diagnostics.o.
169         (CFLAGS-go/go-gcc-diagnostics.o): New variable.
171 2016-09-23  Chris Manghane  <cmang@google.com>
173         PR go/77701
174         * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
175         to pass arguments in the correct order.
177 2016-09-22  Ian Lance Taylor  <iant@golang.org>
179         * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
180         __builtin_frame_address.
182 2016-09-11  Ian Lance Taylor  <iant@golang.org>
184         * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
185         ctz, ctzll, bswap32, bswap64.
187 2016-09-10  Ian Lance Taylor  <iant@golang.org>
189         * go-backend.c (go_trampoline_info): Remove.
190         * go-c.h (go_trampoline_info): Don't declare.
192 2016-09-09  Than McIntosh  <thanm@google.com>
194         * go-sha1.cc: New file.
195         * Make-lang.in (GO_OBJS): Add go/go-sha1.o.
196         (CFLAGS-go/go-sha1.o): New variable.
198 2016-08-29  Ian Lance Taylor  <iant@google.com>
200         * lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
201         * go-c.h (struct go_create_gogo_args): Define.
202         (go_create_gogo): Change declaration to take struct pointer.
203         * go-lang.c (go_c_header): New static variable.
204         (go_langhook_init): Update call to go_create_gogo.
205         * gccgo.texi (Invoking gccgo): Document -fgo-c-header and
206         -fgo-compiling-runtime.
208 2016-08-09  Ian Lance Taylor  <iant@google.com>
210         * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
211         -fgo-debug-escae.
212         (Compiler Directives): New chapter.
213         (Function Names): Describe using //go:linkname.  Suggest using
214         -fgo-pkgpath rather than -fgo-prefix.
216 2016-08-08  Ian Lance Taylor  <iant@google.com>
218         PR go/72814
219         * go-gcc.cc (Gcc_backend::function_type): If the return type is
220         zero bytes, treat the function as returning void.
221         (return_statement): If the return type is zero bytes, don't
222         actually return any values.
224 2016-08-05  Ian Lance Taylor  <iant@google.com>
226         PR go/72812
227         * go-gcc.cc (char_needs_encoding): New static function.
228         (needs_encoding, fetch_utf8_char): New static functions.
229         (encode_id): New static function.
230         (Gcc_backend::global_variable): Set asm name if the name is not
231         simple ASCII.
232         (Gcc_backend::implicit_variable): Likewise.
233         (Gcc_backend::implicit_variable_reference): Likewise.
234         (Gcc_backend::immutable_struct): Likewise.
235         (Gcc_backend::immutable_struct_reference): Likewise.
236         (Gcc_backend::function): Likewise.
238 2016-08-02  Chris Manghane  <cmang@google.com>
240         * lang.opt: Add -fgo-debug-escape option.
241         * go-c.h (go_create_gogo): Add debug_escape_level parameter.
242         * go-lang.c (go_langhook_init): Pass go_debug_escape_level to
243         go_create_gogo.
245 2016-05-06  Chris Manghane  <cmang@google.com>
247         * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
248         new escape.cc).
250 2016-04-29  Chris Manghane  <cmang@google.com>
252         * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
254 2016-04-18  Michael Matz  <matz@suse.de>
256         * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
258 2016-02-12  Jakub Jelinek  <jakub@redhat.com>
260         * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
261         neighbour -> neighbor.
262         * gccgo.texi: Likewise.
264 2016-01-27  Ian Lance Taylor  <iant@google.com>
266         * go-lang.c (go_langhook_init_options_struct): Default to
267         -fkeep-gc-roots-live.
269 2016-01-04  Jakub Jelinek  <jakub@redhat.com>
271         Update copyright years.
273         * gccgo.texi: Bump @copyrights-go year.
275 2015-12-21  Ian Lance Taylor  <iant@google.com>
277         * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class.  Add
278         t_ and orig_type_ fields.  Add new two parameter constructor.  Add
279         get_tree and get_decl methods.
280         (Gcc_backend::var_expression): Pass location to var get_tree.
281         (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR.  Use
282         two parameter constructor for Bvariable.
283         (Gcc_backend::global_variable_set_init): Don't remove
284         VIEW_CONVERT_EXPR.  Use var get_decl, not get_tree.
285         (Gcc_backend::write_global_definitions): Likewise.
286         (Gcc_backend::init_statement): Call var get_decl, not get_tree.
287         (Gcc_backend::block): Likewise.
288         (Gcc_backend::implicit_variable_set_init): Likewise.
289         (Gcc_backend::immutable_struct_set_init): Likewise.
290         (Gcc_backend::function_set_parameters): Likewise.
292 2015-12-21  Ian Lance Taylor  <iant@google.com>
294         * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
295         add a VIEW_CONVERT_EXPR to the tree.
296         (Gcc_backend::global_variable_set_init): Remove any
297         VIEW_CONVERT_EXPR.
298         (Gcc_backend::write_global_definitions): Likewise.
300 2015-11-30  Ian Lance Taylor  <iant@google.com>
302         PR go/68477
303         * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
304         TYPE_STRING_FLAG on a variant type.
306 2015-11-11  Andrew MacLeod  <amacleod@redhat.com>
308         * go-backend.c: Remove unused header files.
309         * go-gcc.cc: Likewise.
310         * go-lang.c: Likewise.
311         * gospec.c: Likewise.
313 2015-10-29  Andrew MacLeod  <amacleod@redhat.com>
315         * go-backend.c: Reorder #include's and remove duplicates.
316         * go-lang.c: Likewise.
318 2015-10-20  Alan Modra  <amodra@gmail.com>
320         PR go/66870
321         * gospec.c (saw_opt_m32): Rename to..
322         (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
323         Update uses.
324         (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
326 2015-10-01  Ian Lance Taylor  <iant@google.com>
328         PR go/66870
329         * gospec.c (lang_specific_driver): Only look for OPT_m32 if
330         TARGET_CAN_SPLIT_STACK_64BIT is defined.
332 2015-10-01  Lynn Boger  <laboger@linux.vnet.ibm.com>
334         PR target/66870
335         * gospec.c (lang_specific_driver): Set appropriate split stack
336         options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
338 2015-09-10  Chris Manghane  <cmang@google.com>
340         * go-gcc.cc (Gcc_backend::type_size): Return -1 for
341         unrepresentable size.
343 2015-08-24  Marek Polacek  <polacek@redhat.com>
345         PR tree-optimization/67284
346         * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
347         Set TREE_THIS_VOLATILE.
348         (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
349         Pass false to the rest of define_builtin calls.
351 2015-07-31  Andreas Schwab  <schwab@linux-m68k.org>
353         * go-lang.c (go_langhook_init_options_struct): Don't set
354         x_flag_split_stack.
355         (go_langhook_post_options): Set it here instead.
357 2015-07-12  Aldy Hernandez  <aldyh@redhat.com>
359         * gofrontend/backend.h: Fix double word typos.
360         * gofrontend/expressions.cc: Same.
361         * gospec.c: Same.
363 2015-07-07  Andrew MacLeod  <amacleod@redhat.com>
365         * go-backend.c: Adjust includes.
366         * go-gcc.cc: Likewise.
367         * go-lang.c: Likewise.
369 2015-06-25  Andrew MacLeod  <amacleod@redhat.com>
371         * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
373 2015-06-17  Andrew MacLeod  <amacleod@redhat.com>
375         * go-backend.c: Do not include input.h, line-map.h or is-a.h.
376         * go-gcc.cc: Likewise.
377         * go-lang.c: Likewise.
378         * go-system.h: Likewise.
380 2015-06-08  Andrew MacLeod  <amacleod@redhat.com>
382         * go-backend.c : Adjust include files.
383         * go-gcc.cc : Likewise.
384         * go-lang.c : Likewise.
386 2015-06-05  Aldy Hernandez  <aldyh@redhat.com>
388         * go-gcc.cc (write_global_definitions): Remove call to
389         finalize_compilation_unit.
390         Remove Go specific debug generation.
391         * go-lang.c (go_langhook_parse_file): Call go_write_globals.
392         (go_langhook_write_globals): Remove.
393         Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
395 2015-06-04  Andrew MacLeod  <amacleod@redhat.com>
397         * go-backend.c: Adjust includes for restructured coretypes.h.
398         * go-c.h: Likewise.
399         * go-gcc.cc: Likewise.
400         * go-lang.c: Likewise.
402 2015-04-30  Chris Manghane  <cmang@google.com>
404         * go-gcc.cc (Gcc_backend::stack_allocation_expression): New
405         method.
407 2015-04-27  Jim Wilson  <jim.wilson@linaro.org>
409         * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
411 2015-04-17  Chris Manghane  <cmang@google.com>
413         * Make-lang.in (GO_OBJS): Add go/escape.o.
415 2015-02-02  Ian Lance Taylor  <iant@google.com>
417         PR go/64836
418         PR go/64838
419         * go-gcc.cc (Gcc_backend::type_size): Change return type to
420         int64_t.
421         (Gcc_backend::type_alignment): Likewise.
422         (Gcc_backend::type_field_alignment): Likewise.
423         (Gcc_backend::type_field_offset): Likewise.
424         (Gcc_backend::implicit_variable): Change alignment parameter type
425         to int64_t.
427 2015-01-23  Ian Lance Taylor  <iant@google.com>
429         PR go/63565
430         * gccgo.texi (Invoking gccgo): Mention that Go programs should not
431         be stripped.
433         * gccgo.texi (C Interoperability): Mention that people should use
434         cgo.
436 2015-01-23  Ian Lance Taylor  <iant@google.com>
438         PR go/64595
439         * go-lang.c (go_langhook_init_options_struct): Set default
440         debug_info_level.
441         (go_langhook_post_options): If debug_info_level is still the
442         default, make sure write_symbols is set.
443         * gccgo.texi (Invoking gccgo): Document that -g1 is the default.
445 2015-01-16  Richard Henderson  <rth@redhat.com>
447         * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
448         (Gcc_backend::static_chain_variable): New method.
450 2015-01-09  Ian Lance Taylor  <iant@google.com>
452         * config-lang.in (lang_dirs): Define.
454 2015-01-09  Michael Collison  <michael.collison@linaro.org>
456         * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
457         input.h, alias.h, symtab.h, options.h, fold-const.h,
458         wide-int.h, and inchash.h due to flattening of tree.h.
459         * go-lang.c: Ditto.
460         * go-backend.c: Ditto.
462 2015-01-07  Chris Manghane  <cmang@google.com>
464         PR go/61204
465         * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
466         zero-sized variable.
468 2015-01-06  Chris Manghane  <cmang@google.com>
470         * go-gcc.cc (Gcc_backend::constructor_expression): Don't
471         initialize zero-sized fields, just evaluate the values for side
472         effects.
474 2015-01-05  Jakub Jelinek  <jakub@redhat.com>
476         Update copyright years.
478         * gccgo.texi: Bump @copyrights-go year.
480 2014-12-19  Chris Manghane  <cmang@google.com>
482         * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
483         construct arrays of zero-sized values.
485 2014-10-29  Richard Sandiford  <richard.sandiford@arm.com>
487         * go-lang.c: Remove redundant enum from machine_mode.
489 2014-10-28  Andrew MacLeod  <amacleod@redhat.com>
491         * go-gcc.cc: Adjust include files.
493 2014-10-27  Andrew MacLeod  <amacleod@redhat.com>
495         * go-gcc.cc: Adjust include files.
496         * go-lang.c: Ditto.
498 2014-10-23  Ian Lance Taylor  <iant@google.com>
500         * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
501         mpc_t parameter instead of two mpfr_t parameters.
503 2014-09-15  Jakub Jelinek  <jakub@redhat.com>
505         * Make-lang.in (check_go_parallelize): Change to just an upper bound
506         number.
508 2014-09-03  Chris Manghane  <cmang@google.com>
510         * go-gcc.cc (Gcc_backend::implicit_variable): Remove init
511         parameter.  Add is_hidden parameter.
512         (Gcc_backend::implicit_variable_set_init): New method.
513         (Gcc_backend::implicit_variable_reference): New method.
515 2014-08-08  Ian Lance Taylor  <iant@google.com>
517         * go-gcc.cc (Gcc_backend::compound_statement): Don't return
518         NULL_TREE.
520 2014-07-24  Uros Bizjak  <ubizjak@gmail.com>
522         * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
523         symtab_get_node to symtab_node::get.
525 2014-06-13  Ian Lance Taylor  <iant@google.com>
527         PR go/61496
528         * gospec.c (lang_specific_driver): On Solaris, when not using GNU
529         ld, add -t option to avoid warning about common symbol changing
530         size.
532 2014-06-10  Jan Hubicka  <hubicka@ucw.cz>
534         * go-gcc.cc (Gcc_backend::global_variable_set_init): Use
535         symtab_get_node(var_decl)->implicit_section.
537 2014-06-07  Jan Hubicka  <hubicka@ucw.cz>
539         * go-gcc.cc (global_variable_set_init): Use
540         set_decl_section_name.
542 2014-06-04  Ian Lance Taylor  <iant@google.com>
544         * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
545         alignment parameters.  Permit init parameter to be NULL.
547 2014-06-02  Andrew MacLeod  <amacleod@redhat.com>
549         * go-gcc.cc: Include builtins.h.
551 2014-05-17  Trevor Saunders  <tsaunders@mozilla.com>
553         * go-lang.c (struct GTY): Don't use variable_size gty attribute.
555 2014-05-06  Chris Manghane  <cmang@google.com>
557         * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
558         (Gcc_backend::boolean_constant_expression): New method.
559         (Gcc_backend::zero_expression): Use this->make_expression rather
560         than tree_to_expr.
561         (Gcc_backend::var_expression): Likewise.
562         (Gcc_backend::integer_constant_expression): Likewise.
563         (Gcc_backend::float_constant_expression): Likewise.
564         (Gcc_backend::complex_constant_expression): Likewise.
565         (Gcc_backend::struct_field_expression): Likewise.
566         (tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
567         (tree_to_function, tree_to_block): Remove functions.
568         (type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
569         (block_to_tree, var_to_tree, function_to_tree): Remove functions.
571 2014-05-06  Kenneth Zadeck  <zadeck@naturalbridge.com>
572             Mike Stump  <mikestump@comcast.net>
573             Richard Sandiford  <rdsandiford@googlemail.com>
575         * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
577 2014-05-06  Chris Manghane  <cmang@google.com>
579         * go-c.h (go_create_gogo): Update declaration to add
580         check_divide_zero and check_divide_overflow parameters.
581         * go-lang.c (go_langhook_init): Pass new arguments to
582         go_create_gogo.
584 2014-05-05  Chris Manghane  <cmang@google.com>
586         * go-gcc.cc (Gcc_backend::implicit_variable): Rename from
587         gc_root_variable.  Add name and is_constant parameters.
589 2014-05-05  Chris Manghane  <cmang@google.com>
591         * go-gcc.cc (Gcc_backend::indirect_expression): Add btype
592         parameter.
593         (Gcc_backend::temporary_variable): Check for erroneous function.
595 2014-04-30  Chris Manghane  <cmang@google.com>
597         * go-backend.c: #include "diagnostics.h".
598         (saw_errors): New function.
599         * go-c.h (saw_errors): Declare.
600         * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
602 2014-04-30  Chris Manghane  <cmang@google.com>
604         * go-lang.c (go_langhook_type_for_size): Do it here, rather than
605         calling into Go frontend.
606         (go_langhook_type_for_mode): Likewise.
607         * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
609 2014-04-30  Chris Manghane  <cmang@google.com>
611         * go-gcc.cc: #include "langhooks.h".
612         (Gcc_backend::Gcc_backend): Add constructor.
613         (Gcc_backend::lookup_function): New function.
614         (Gcc_backend::define_builtin): New private function.
615         (Gcc_backend::gcc_backend): Remove.
616         (go_get_backend): Use new to create new Gcc_backend.
618 2014-04-25  Chris Manghane  <cmang@google.com>
620         * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
621         (Gcc_backend::return_statement): Push and pop function.
622         (Gcc_backend::label): Likewise.
623         (Gcc_backend::function_defer_statement): Likewise.
624         (Gcc_backend::switch_statement): Add function parameter.
625         (Gcc_backend::block): Don't permit function to be NULL.
626         (Gcc_backend::temporary_variable): Change go_assert to
627         gcc_assert.
628         (Gcc_backend::gc_root_variable): New function.
629         (Gcc_backend::write_global_definitions): New function.
631 2014-04-22  Chris Manghane  <cmang@google.com>
633         * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
634         call to create_tmp_var.  Require that function be non-NULL.
636 2014-04-17  Chris Manghane  <cmang@google.com>
638         * go-gcc.cc (Gcc_backend::named_constant_expression): New
639         function.
641 2014-04-14  Chris Manghane  <cmang@google.com>
643         * go-gcc.cc: Include "convert.h".
644         (Gcc_backend::string_constant_expression): New function.
645         (Gcc_backend::real_part_expression): Likewise.
646         (Gcc_backend::imag_part_expression): Likewise.
647         (Gcc_backend::complex_expression): Likewise.
648         (Gcc_backend::constructor_expression): Likewise.
649         (Gcc_backend::array_constructor_expression): Likewise.
650         (Gcc_backend::pointer_offset_expression): Likewise.
651         (Gcc_backend::array_index_expression): Likewise.
652         (Gcc_backend::call_expression): Likewise.
653         (Gcc_backend::exception_handler_statement): Likewise.
654         (Gcc_backend::function_defer_statement): Likewise.
655         (Gcc_backend::function_set_parameters): Likewise.
656         (Gcc_backend::function_set_body): Likewise.
657         (Gcc_backend::convert_expression): Handle various type
658         conversions.
660 2014-03-03  Ian Lance Taylor  <iant@google.com>
662         * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
663         DECL_WEAK.
664         (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
665         DECL_WEAK.
667 2014-01-24  Chris Manghane  <cmang@google.com>
669         * go-gcc.cc (Gcc_backend::unary_expression): New function.
671 2014-01-16  Chris Manghane  <cmang@google.com>
673         * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
674         parameter.
675         (operator_to_tree_code): New static function.
676         (Gcc_backend::binary_expression): New function.
678 2014-01-14  Chris Manghane  <cmang@google.com>
680         * go-gcc.cc (Gcc_backend::compound_expression): New function.
681         (Gcc_backend::conditional_expression): New function.
683 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
685         Update copyright years
687 2014-01-02  Tobias Burnus  <burnus@net-b.de>
689         * gccgo.texi: Bump @copying's copyright year.
691 2013-12-16  Chris Manghane  <cmang@google.com>
693         * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
695 2013-12-11  Ian Lance Taylor  <iant@google.com>
697         * go-lang.c (go_langhook_post_options): Disable sibling calls by
698         default.
700 2013-12-10  Ian Lance Taylor  <iant@google.com>
702         * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
703         separately.
705 2013-12-05  Ian Lance Taylor  <iant@google.com>
707         Revert this change; no longer required.
708         2013-11-06  Ian Lance Taylor  <iant@google.com>
710         * go-lang.c (go_langhook_post_options): If
711         -fisolate-erroneous-paths was turned on by an optimization option,
712         turn it off.
714 2013-11-23  Ian Lance Taylor  <iant@google.com>
716         * go-gcc.cc (Gcc_backend::function_type): Add result_struct
717         parameter.
719 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
721         * go-gcc.cc: Add required include files from gimple.h.
722         * go-lang.c: Likewise
724 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
726         * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
727         tree_to_shwi throughout.
729 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
731         * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
732         tree_fits_shwi_p throughout.
734 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
736         * go-lang.c: Include only gimplify.h and gimple.h as needed.
738 2013-11-14  Diego Novillo  <dnovillo@google.com>
740         * go-backend.c: Include stor-layout.h.
741         * go-gcc.cc: Include stringpool.h.
742         Include stor-layout.h.
743         Include varasm.h.
744         * go-lang.c: Include stor-layout.h.
746 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
748         * go-lang.c: Include gimplify.h.
750 2013-11-06  Ian Lance Taylor  <iant@google.com>
752         * go-lang.c (go_langhook_post_options): If
753         -fisolate-erroneous-paths was turned on by an optimization option,
754         turn it off.
756 2013-10-14  Chris Manghane  <cmang@google.com>
758         * go-gcc.cc (Gcc_backend::address_expression): New function.
760 2013-10-11  Chris Manghane  <cmang@google.com>
762         * go-gcc.cc (Gcc_backend::function_code_expression): New
763         function.
765 2013-10-10  Chris Manghane  <cmang@google.com>
767         * go-gcc.cc (Gcc_backend::error_function): New function.
768         (Gcc_backend::function): New function.
769         (Gcc_backend::make_function): New function.
770         (function_to_tree): New function.
772 2013-10-04  Chris Manghane  <cmang@google.com>
774         * go-gcc.cc (Gcc_backend::convert_expression): New function.
776 2013-10-02  Chris Manghane  <cmang@google.com>
778         * go-gcc.cc: Include "real.h" and "realmpfr.h".
779         (Gcc_backend::integer_constant_expression): New function.
780         (Gcc_backend::float_constant_expression): New function.
781         (Gcc_backend::complex_constant_expression): New function.
783 2013-09-30  Chris Manghane  <cmang@google.com>
785         * go-gcc.cc (Gcc_backend::error_expression): New function.
786         (Gcc_backend::var_expression): New function.
787         (Gcc_backend::indirect_expression): New function.
789 2013-09-25  Tom Tromey  <tromey@redhat.com>
791         * Make-lang.in (gospec.o): Remove.
792         (CFLAGS-go/gospec.o): New variable.
793         (GCCGO_OBJS): Update to use go/gospec.o.
794         (go_OBJS): Define.
795         (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
796         (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
797         (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
798         (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
799         (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
800         (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
801         (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
802         (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
803         (go/unsafe.o): Remove.
804         (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
805         (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
807 2013-09-25  Tom Tromey  <tromey@redhat.com>
809         * Make-lang.in (gospec.o): Don't use subshell.
811 2013-08-28  Ian Lance Taylor  <iant@google.com>
813         * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
814         the struct is not hidden.
815         (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
817 2013-08-06  Ian Lance Taylor  <iant@google.com>
819         * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
820         compute_reloc_for_constant.
822 2013-08-02  Ian Lance Taylor  <iant@google.com>
824         * go-gcc.cc (immutable_struct_set_init): Always call
825         resolve_unique_section.
827 2013-07-24  Ian Lance Taylor  <iant@google.com>
829         * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
830         fields, recreate those fields with the first one with a non-zero
831         size.
833 2013-07-23  Ian Lance Taylor  <iant@google.com>
835         * go-backend.c: Don't #include "rtl.h".
836         (go_imported_unsafe): Don't call init_varasm_once.
837         * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
839 2013-07-23  Ian Lance Taylor  <iant@google.com>
841         * go-lang.c: Don't #include "except.h".
842         * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
844 2013-06-18  Ian Lance Taylor  <iant@google.com>
846         * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
847         parameter.
848         (Gcc_backend::immutable_struct_set_init): Likewise.
850 2013-05-16  Jason Merrill  <jason@redhat.com>
852         * Make-lang.in (go1$(exeext)): Use link mutex.
854 2013-01-16  Shenghou Ma  <minux.ma@gmail.com>
856         * gospec.c: pass -u pthread_create to linker when static linking.
858 2012-12-21  Ian Lance Taylor  <iant@google.com>
860         PR bootstrap/54659
861         * go-system.h: Don't include <cstdio>.
863 2012-12-18  Ian Lance Taylor  <iant@google.com>
865         PR go/55201
866         * gospec.c: Revert last patch.
868 2012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
870         PR go/55201
871         * gospec.c (LIBATOMIC): Define.
872         (LIBATOMIC_PROFILE): Define.
873         (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
875 2012-11-29  Ian Lance Taylor  <iant@google.com>
877         * go-gcc.cc: Include "output.h".
878         (global_variable): Add is_unique_section parameter.
879         (global_variable_set_init): Adjust unique section if necessary.
880         * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
882 2012-11-17  Diego Novillo  <dnovillo@google.com>
884         Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
886         * go-lang.c: Use new vec API in vec.h.
888 2012-11-16  Ian Lance Taylor  <iant@google.com>
890         * Make-lang.in (gccgo$(exeext)): Add + at start of command.
891         (go1$(exeext)): Likewise.
893 2012-10-30  Ian Lance Taylor  <iant@google.com>
895         * lang.opt (-fgo-relative-import-path): New option.
896         * go-lang.c (go_relative_import_path): New static variable.
897         (go_langhook_init): Pass go_relative_import_path to
898         go_create_gogo.
899         (go_langhook_handle_option): Handle -fgo-relative-import-path.
900         * go-c.h (go_create_gogo): Update declaration.
901         * gccgo.texi (Invoking gccgo): Document
902         -fgo-relative-import-path.
904 2012-09-17  Ian Lance Taylor  <iant@google.com>
906         * config-lang.in (target_libs): Add target-libbacktrace.
908 2012-09-16  Ian Lance Taylor  <iant@google.com>
910         * Make-lang.in (go/gogo.o): Depend on filenames.h.
912 2012-08-14   Diego Novillo  <dnovillo@google.com>
914         Merge from cxx-conversion branch.  Configury.
916         * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
917         * go-gcc.cc: Likewise.
918         * go-system.h: Likewise.
920 2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
922         * go-lang.c (lang_decl): Add variable_size GTY option.
924 2012-05-09  Ian Lance Taylor  <iant@google.com>
926         * lang.opt: Add -fgo-pkgpath.
927         * go-lang.c (go_pkgpath): New static variable.
928         (go_prefix): New static variable.
929         (go_langhook_init): Pass go_pkgpath and go_prefix to
930         go_create_gogo.
931         (go_langhook_handle_option): Handle -fgo-pkgpath.  Change
932         -fgo-prefix handling to just set go_prefix.
933         * go-c.h (go_set_prefix): Don't declare.
934         (go_create_gogo): Add pkgpath and prefix to declaration.
935         * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
936         to pkgpath.  Don't include the package name in the asm name.
937         * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
938         docs for -fgo-prefix.
940 2012-04-23  Ian Lance Taylor  <iant@google.com>
942         * go-lang.c (go_langhook_init): Set MPFR precision to 256.
944 2012-04-20  Ian Lance Taylor  <iant@google.com>
946         * lang.opt: Add -fgo-check-divide-zero and
947         -fgo-check-divide-overflow.
948         * gccgo.texi (Invoking gccgo): Document new options.
950 2012-04-18  Steven Bosscher  <steven@gcc.gnu.org>
952         * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
953         with NULL_TREE type instead of void_type_node.
955 2012-03-09  Ian Lance Taylor  <iant@google.com>
957         * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
958         to the lhs type if necessary.
960 2012-03-08  Ian Lance Taylor  <iant@google.com>
962         * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
963         zero-sized variable.
964         (go_non_zero_struct): New global variable.
965         (Gcc_backend::non_zero_size_type): New function.
966         (Gcc_backend::global_variable): Don't build an assignment for a
967         zero-sized value.
968         * go-c.h (go_non_zero_struct): Declare.
969         * config-lang.in (gtfiles): Add go-c.h.
971 2012-02-29  Ian Lance Taylor  <iant@google.com>
973         * go-gcc.cc (class Gcc_tree): Add set_tree method.
974         (set_placeholder_pointer_type): When setting to a pointer to
975         error, set to error_mark_node.
977 2012-02-23  Richard Guenther  <rguenther@suse.de>
979         * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
980         build_distinct_type_copy.
982 2012-02-17  Ian Lance Taylor  <iant@google.com>
984         * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
986 2012-02-17  Ian Lance Taylor  <iant@google.com>
988         * gospec.c (lang_specific_driver): If linking, and no -o option
989         was used, add one.
991 2012-02-14  Ian Lance Taylor  <iant@google.com>
993         PR go/48411
994         * Make-lang.in (gccgo-cross$(exeext)): New target.
995         (go.all.cross): Depend on gccgo-cross$(exeext) instead of
996         gccgo$(exeext).
997         (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
998         gccgo-cross$(exeext) does not exist.
1000 2012-02-07  Ian Lance Taylor  <iant@google.com>
1002         * gccgo.texi (Function Names): Document //extern instead of
1003         __asm__.
1005 2012-02-01  Jakub Jelinek  <jakub@redhat.com>
1007         PR target/52079
1008         * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
1009         return build_nonstandard_integer_type result if possible.
1011 2012-01-21  Ian Lance Taylor  <iant@google.com>
1013         * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
1014         (Gcc_backend::type_alignment): Likewise.
1015         (Gcc_backend::type_field_alignment): Likewise.
1016         (Gcc_backend::type_field_offset): Likewise.
1018 2012-01-20  Ian Lance Taylor  <iant@google.com>
1020         * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
1021         be empty.
1022         (Gcc_backend::set_placeholder_struct_type): Likewise.
1024 2012-01-17  Ian Lance Taylor  <iant@google.com>
1026         * gospec.c (lang_specific_driver): If we see -S without -o, add -o
1027         BASE.s rather than -o BASE.o.
1029 2012-01-11  Ian Lance Taylor  <iant@google.com>
1031         * go-lang.c (go_langhook_init): Initialize void_list_node before
1032         calling go_create_gogo.
1034 2012-01-10  Ian Lance Taylor  <iant@google.com>
1036         * go-gcc.cc (Gcc_backend::type_size): New function.
1037         (Gcc_backend::type_alignment): New function.
1038         (Gcc_backend::type_field_alignment): New function.
1039         (Gcc_backend::type_field_offset): New function.
1040         * go-backend.c (go_type_alignment): Remove.
1041         * go-c.h (go_type_alignment): Don't declare.
1043 2011-12-27  Ian Lance Taylor  <iant@google.com>
1045         * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
1046         build_distinct_type_copy rather than build_variant_type_copy.
1047         (Gcc_backend::set_placeholder_array_type): Likewise.
1048         (Gcc_backend::named_type): Add special handling for builtin
1049         basic types.
1051 2011-12-22  Ian Lance Taylor  <iant@google.com>
1053         * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
1054         for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
1055         (Gcc_backend::set_placeholder_struct_type): Likewise.
1056         (Gcc_backend::set_placeholder_array_type): Likewise.
1057         (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
1059 2011-12-13  Ian Lance Taylor  <iant@google.com>
1061         * go-backend.c: #include "simple-object.h" and "intl.h".
1062         (GO_EXPORT_SEGMENT_NAME): Define if not defined.
1063         (GO_EXPORT_SECTION_NAME): Likewise.
1064         (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
1065         (go_read_export_data): New function.
1066         * go-c.h (go_read_export_data): Declare.
1068 2011-11-29  Sanjoy Das  <thedigitalangel@gmail.com>
1069             Ian Lance Taylor  <iant@google.com>
1071         * go-location.h: New file.
1072         * go-linemap.cc: New file.
1073         * go-gcc.cc: Change all uses of source_location to Location.
1074         * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1075         (GO_LINEMAP_H): New variable.
1076         (GO_LEX_H): Use $(GO_LINEMAP_H).
1077         (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1078         (go/go-linemap.o): New target.
1080 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1082         * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1084 2011-08-24  Roberto Lublinerman  <rluble@gmail.com>
1086         * lang.opt: Add fgo-optimize-.
1087         * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1088         * go-c.h (go_enable_optimize): Declare.
1089         * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1090         (GO_EXPORT_H): Define.
1091         (GO_IMPORT_H): Add $(GO_EXPORT_H).
1092         (GO_AST_DUMP_H): Define.
1093         (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1094         (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1095         (go/types.o): Likewise.
1096         (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1097         (go/go-optimize.o): New target.
1099 2011-08-24  Joseph Myers  <joseph@codesourcery.com>
1101         * Make-lang.in (CFLAGS-go/go-lang.o): New.
1102         (go/go-lang.o): Remove explicit compilation rule.
1104 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1106         * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1108 2011-08-02  Roberto Lublinerman  <rluble@gmail.com>
1110         * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1111         (go/ast-dump.o): New target.
1112         (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1113         (go/statements.o): Likewise.
1115 2011-07-06  Richard Guenther  <rguenther@suse.de>
1117         * go-lang.c (go_langhook_init):
1118         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1120 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
1122         * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1123         dependencies.
1124         * go-backend.c: Include common/common-target.h.
1125         (go_write_export_data): Use targetm_common.have_named_sections.
1126         * go-lang.c: Include common/common-target.h.
1127         (go_langhook_init_options_struct): Use
1128         targetm_common.supports_split_stack.
1130 2011-06-13  Ian Lance Taylor  <iant@google.com>
1132         * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1134 2011-06-10  Ian Lance Taylor  <iant@google.com>
1136         * go-gcc.cc: Include "toplev.h".
1137         (Gcc_backend::immutable_struct): New function.
1138         (Gcc_backend::immutable_struct_set_init): New function.
1139         (Gcc_backend::immutable_struct_reference): New function.
1140         * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1142 2011-06-09  Ian Lance Taylor  <iant@google.com>
1144         * go-gcc.cc (Gcc_backend::zero_expression): New function.
1146 2011-06-07  Richard Guenther  <rguenther@suse.de>
1148         * go-lang.c (go_langhook_init): Do not set
1149         size_type_node or call set_sizetype.
1151 2011-05-27  Ian Lance Taylor  <iant@google.com>
1153         * go-backend.c: Include "output.h".
1154         (go_write_export_data): New function.
1155         * go-c.h (go_write_export_data): Declare.
1156         * Make-lang.in (go/go-backend.o): Depend on output.h.
1157         (go/export.o): Depend on $(GO_C_H).  Do not depend on
1158         $(MACHMODE_H), output.h, or $(TARGET_H).
1160 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
1162         * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1163         (gccgo$(exeext)): Use libcommon-target.a.
1165 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
1167         * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1169 2011-05-13  Ian Lance Taylor  <iant@google.com>
1171         * go-gcc.cc (Gcc_backend::function_type): When building a struct
1172         for multiple results, check that all fields types have a size.
1173         (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1175 2011-05-12  Ian Lance Taylor  <iant@google.com>
1177         * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1178         parameter.
1179         (Gcc_backend::parameter_variable): Likewise.
1181 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
1183         * go-lang.c (global_bindings_p): Return bool and simplify.
1185 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
1187         * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1189 2011-05-04  Ian Lance Taylor  <iant@google.com>
1191         * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1192         (Gcc_backend::fill_in_struct): New function.
1193         (Gcc_backend::array_type): Implement.
1194         (Gcc_backend::fill_in_array): New function.
1195         (Gcc_backend::placeholder_pointer_type): New function.
1196         (Gcc_backend::set_placeholder_pointer_type): New function.
1197         (Gcc_backend::set_placeholder_function_type): New function.
1198         (Gcc_backend::placeholder_struct_type): New function.
1199         (Gcc_backend::set_placeholder_struct_type): New function.
1200         (Gcc_backend::placeholder_array_type): New function.
1201         (Gcc_backend::set_placeholder_array_type): New function.
1202         (Gcc_backend::named_type): New function.
1203         (Gcc_backend::circular_pointer_type): New function.
1204         (Gcc_backend::is_circular_pointer_type): New function.
1206 2011-04-26  Ian Lance Taylor  <iant@google.com>
1208         * go-gcc.cc (Gcc_backend::struct_type): Implement.
1210 2011-04-25  Ian Lance Taylor  <iant@google.com>
1212         * go-gcc.cc (Gcc_backend::error_type): Implement.
1213         (Gcc_backend::string_type): Remove.
1214         (Gcc_backend::function_type): Change signature and implement.
1215         (Gcc_backend::struct_type): Change signature.
1216         (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1217         (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1218         (Gcc_backend::pointer_type): Check for error.
1219         * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1221 2011-04-25  Evan Shaw  <edsrzf@gmail.com>
1223         * go-gcc.c (class Gcc_tree): Make get_tree const.
1224         (Gcc_backend::void_type): Implement.
1225         (Gcc_backend::bool_type): Implement.
1226         (Gcc_backend::integer_type): Implement.
1227         (Gcc_backend::float_type): Implement.
1228         (Gcc_backend::complex_type): New function.
1229         (Gcc_backend::pointer_type): New function.
1230         (Gcc_backend::make_type): New function.
1231         (type_to_tree): New function.
1233 2011-04-21  Ian Lance Taylor  <iant@google.com>
1235         * go-system.h (go_assert, go_unreachable): Define.
1237 2011-04-19  Ian Lance Taylor  <iant@google.com>
1239         * go-system.h: Include "intl.h".
1240         * Make-lang.in (GO_SYSTEM_H): Add intl.h.
1241         (go/statements.o): Remove dependencies on intl.h $(TREE_H)
1242         $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1244 2011-04-19  Ian Lance Taylor  <iant@google.com>
1246         * go-gcc.cc (Gcc_backend::temporary_variable): New function.
1248 2011-04-19  Ian Lance Taylor  <iant@google.com>
1250         * go-gcc.cc (class Bblock): Define.
1251         (Gcc_backend::if_statement): Change then_block and else_block to
1252         Bblock*.
1253         (Gcc_backend::block): New function.
1254         (Gcc_backend::block_add_statements): New function.
1255         (Gcc_backend::block_statement): New function.
1256         (tree_to_block, block_to_tree): New functions.
1258 2011-04-18  Ian Lance Taylor  <iant@google.com>
1260         * go-gcc.cc: Include "go-c.h".
1261         (class Bvariable): Define.
1262         (Gcc_backend::init_statement): New function.
1263         (Gcc_backend::global_variable): New function.
1264         (Gcc_backend::global_variable_set_init): New function.
1265         (Gcc_backend::local_variable): New function.
1266         (Gcc_backend::parameter_variable): New function.
1267         (tree_to_type, var_to_tree): New functions.
1268         * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1269         * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1271 2011-04-15  Ian Lance Taylor  <iant@google.com>
1273         * go-gcc.cc (Gcc_backend::compound_statement): New function.
1274         (Gcc_backend::assignment_statement): Use error_statement.
1275         (Gcc_backend::return_statement): Likewise.
1276         (Gcc_backend::if_statement): Likewise.
1277         (Gcc_backend::switch_statement): Likewise.
1278         (Gcc_backend::statement_list): Likewise.
1280 2011-04-14  Ian Lance Taylor  <iant@google.com>
1282         * go-gcc.cc (Gcc_backend::error_statement): New function.
1284 2011-04-13  Ian Lance Taylor  <iant@google.com>
1286         * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1288 2011-04-13  Ian Lance Taylor  <iant@google.com>
1290         * Make-lang.in (GO_OBJS): Add go/runtime.o.
1291         (GO_RUNTIME_H): New variable.
1292         (go/runtime.o): New target.
1293         (go/gogo.o): Depend on $(GO_RUNTIME_H).
1294         (go/statements.o): Likewise.
1296 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
1298         * go-lang.c (union lang_tree_node): Check for TS_COMMON before
1299         calling TREE_CHAIN.
1301 2011-04-06  Ian Lance Taylor  <iant@google.com>
1303         * go-gcc.cc (if_statement): Use build3_loc.
1304         (Gcc_backend::switch_statement): New function.
1305         (Gcc_backend::statement_list): New function.
1307 2011-04-06  Ian Lance Taylor  <iant@google.com>
1309         * go-gcc.cc (Gcc_backend::if_statement): New function.
1310         (tree_to_stat): New function.
1311         (expr_to_tree): Renamed from expression_to_tree.
1312         (stat_to_tree): Renamed from statement_to_tree.
1314 2011-04-06  Ian Lance Taylor  <iant@google.com>
1316         * go-gcc.cc (Gcc_backend::expression_statement): New function.
1318 2011-04-04  Ian Lance Taylor  <iant@google.com>
1320         * go-gcc.c (class Blabel): Define.
1321         (Gcc_backend::make_expression): New function.
1322         (get_identifier_from_string): New function.
1323         (Gcc_backend::label): New function.
1324         (Gcc_backend::label_definition_statement): New function.
1325         (Gcc_backend::goto_statement): New function.
1326         (Gcc_backend::label_address): New function.
1327         (expression_to_tree): New function.
1328         * Make-lang.in (go/expressions.o): Depend on
1329         go/gofrontend/backend.h.
1330         (go/gogo.o): Likewise.
1332 2011-04-04  Ian Lance Taylor  <iant@google.com>
1334         * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1335         (class Bfunction): Define.
1336         (Gcc_backend::assignment_statement): Rename from assignment.
1337         Check for errors.
1338         (Gcc_backend::return_statement): New function.
1339         (tree_to_function): New function.
1340         * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1341         $(GIMPLE_H), and $(GO_GOGO_H).
1343 2011-04-03  Ian Lance Taylor  <iant@google.com>
1345         * go-gcc.cc: New file.
1346         * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1347         (go/go-gcc.o): New target.
1348         (go/go.o): Depend on go/gofrontend/backend.h.
1349         (go/statements.o): Likewise.
1351 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
1353         * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1355 2011-02-08  Ian Lance Taylor  <iant@google.com>
1357         * go-lang.c (go_langhook_init_options_struct): Set
1358         frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.
1360 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
1362         * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1363         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1365 2011-01-21  Ian Lance Taylor  <iant@google.com>
1367         * go-lang.c (go_langhook_init): Omit float_type_size when calling
1368         go_create_gogo.
1369         * go-c.h: Update declaration of go_create_gogo.
1371 2011-01-13  Ian Lance Taylor  <iant@google.com>
1373         * go-backend.c: Include "rtl.h" and "target.h".
1374         (go_imported_unsafe): New function.
1375         * go-c.h (go_imported_unsafe): Declare.
1376         * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
1377         (go/gogo-tree.o): Remove dependency on $(RTL_H).
1378         (go/unsafe.o): Depend on $(GO_C_H).
1380 2010-12-31  Joern Rennecke  <amylaar@spamcop.net>
1382         PR go/47113
1383         * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
1384         variable ‘field’ .
1386 2010-12-21  Ian Lance Taylor  <iant@google.com>
1388         * Make-lang.in (check-go): Remove.
1389         (lang_checks_parallelized): Add check-go.
1390         (check_go_parallelize): Set.
1392 2010-12-13  Ian Lance Taylor  <iant@google.com>
1394         * gospec.c (lang_specific_driver): Add a -o option if not linking
1395         and there is no -o option already.
1397 2010-12-07  Ian Lance Taylor  <iant@google.com>
1399         PR tree-optimization/46805
1400         PR tree-optimization/46833
1401         * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
1403 2010-12-06  Ian Lance Taylor  <iant@google.com>
1405         PR other/46789
1406         PR bootstrap/46812
1407         * go-lang.c (go_char_p): Define type and vectors.
1408         (go_search_dirs): New static variable.
1409         (go_langhook_handle_option): Use version and version/machine
1410         directories for -L.
1411         (go_langhook_post_options): Add non-specific -L paths.
1412         * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
1413         DEFAULT_TARGET_MACHINE when compiling.
1414         * gccgo.texi (Invoking gccgo): Only document -L for linking.
1415         (Import and Export): Don't mention -L for finding import files.
1417 2010-12-03  Ian Lance Taylor  <iant@google.com>
1419         PR bootstrap/46776
1420         * go-backend.c: New file.
1421         * go-c.h (go_type_alignment): Declare.
1422         (go_field_alignment, go_trampoline_info): Declare.
1423         * Make-lang.in (GO_OBJS): Add go/go-backend.o.
1424         (go/go-backend.o): New target.
1425         (go/go-lang.o): Make dependencies match source file.
1426         (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
1427         (go/gogo-tree.o): Don't depend on $(TM_H).
1429 2010-12-03  Ian Lance Taylor  <iant@google.com>
1431         * config-lang.in (build_by_default): Set to no.
1433 2010-12-02  Ian Lance Taylor  <iant@google.com>
1435         Go frontend added to gcc repository.
1437 Copyright (C) 2010-2017 Free Software Foundation, Inc.
1439 Copying and distribution of this file, with or without modification,
1440 are permitted in any medium without royalty provided the copyright
1441 notice and this notice are preserved.