* go-gcc.cc: #include "langhooks.h".
[official-gcc.git] / gcc / go / ChangeLog
blob8d86e746d6e54b76380da1d770d78e514242843d
1 2014-04-30  Chris Manghane  <cmang@google.com>
3         * go-gcc.cc: #include "langhooks.h".
4         (Gcc_backend::Gcc_backend): Add constructor.
5         (Gcc_backend::lookup_function): New function.
6         (Gcc_backend::define_builtin): New private function.
7         (Gcc_backend::gcc_backend): Remove.
8         (go_get_backend): Use new to create new Gcc_backend.
10 2014-04-25  Chris Manghane  <cmang@google.com>
12         * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
13         (Gcc_backend::return_statement): Push and pop function.
14         (Gcc_backend::label): Likewise.
15         (Gcc_backend::function_defer_statement): Likewise.
16         (Gcc_backend::switch_statement): Add function parameter.
17         (Gcc_backend::block): Don't permit function to be NULL.
18         (Gcc_backend::temporary_variable): Change go_assert to
19         gcc_assert.
20         (Gcc_backend::gc_root_variable): New function.
21         (Gcc_backend::write_global_definitions): New function.
23 2014-04-22  Chris Manghane  <cmang@google.com>
25         * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
26         call to create_tmp_var.  Require that function be non-NULL.
28 2014-04-17  Chris Manghane  <cmang@google.com>
30         * go-gcc.cc (Gcc_backend::named_constant_expression): New
31         function.
33 2014-04-14  Chris Manghane  <cmang@google.com>
35         * go-gcc.cc: Include "convert.h".
36         (Gcc_backend::string_constant_expression): New function.
37         (Gcc_backend::real_part_expression): Likewise.
38         (Gcc_backend::imag_part_expression): Likewise.
39         (Gcc_backend::complex_expression): Likewise.
40         (Gcc_backend::constructor_expression): Likewise.
41         (Gcc_backend::array_constructor_expression): Likewise.
42         (Gcc_backend::pointer_offset_expression): Likewise.
43         (Gcc_backend::array_index_expression): Likewise.
44         (Gcc_backend::call_expression): Likewise.
45         (Gcc_backend::exception_handler_statement): Likewise.
46         (Gcc_backend::function_defer_statement): Likewise.
47         (Gcc_backend::function_set_parameters): Likewise.
48         (Gcc_backend::function_set_body): Likewise.
49         (Gcc_backend::convert_expression): Handle various type
50         conversions.
52 2014-03-03  Ian Lance Taylor  <iant@google.com>
54         * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
55         DECL_WEAK.
56         (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
57         DECL_WEAK.
59 2014-01-24  Chris Manghane  <cmang@google.com>
61         * go-gcc.cc (Gcc_backend::unary_expression): New function.
63 2014-01-16  Chris Manghane  <cmang@google.com>
65         * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
66         parameter.
67         (operator_to_tree_code): New static function.
68         (Gcc_backend::binary_expression): New function.
70 2014-01-14  Chris Manghane  <cmang@google.com>
72         * go-gcc.cc (Gcc_backend::compound_expression): New function.
73         (Gcc_backend::conditional_expression): New function.
75 2014-01-02  Richard Sandiford  <rdsandiford@googlemail.com>
77         Update copyright years
79 2014-01-02  Tobias Burnus  <burnus@net-b.de>
81         * gccgo.texi: Bump @copying's copyright year.
83 2013-12-16  Chris Manghane  <cmang@google.com>
85         * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
87 2013-12-11  Ian Lance Taylor  <iant@google.com>
89         * go-lang.c (go_langhook_post_options): Disable sibling calls by
90         default.
92 2013-12-10  Ian Lance Taylor  <iant@google.com>
94         * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
95         separately.
97 2013-12-05  Ian Lance Taylor  <iant@google.com>
99         Revert this change; no longer required.
100         2013-11-06  Ian Lance Taylor  <iant@google.com>
102         * go-lang.c (go_langhook_post_options): If
103         -fisolate-erroneous-paths was turned on by an optimization option,
104         turn it off.
106 2013-11-23  Ian Lance Taylor  <iant@google.com>
108         * go-gcc.cc (Gcc_backend::function_type): Add result_struct
109         parameter.
111 2013-11-22  Andrew MacLeod  <amacleod@redhat.com>
113         * go-gcc.cc: Add required include files from gimple.h.
114         * go-lang.c: Likewise
116 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
118         * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
119         tree_to_shwi throughout.
121 2013-11-18  Richard Sandiford  <rdsandiford@googlemail.com>
123         * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
124         tree_fits_shwi_p throughout.
126 2013-11-14  Andrew MacLeod  <amacleod@redhat.com>
128         * go-lang.c: Include only gimplify.h and gimple.h as needed.
130 2013-11-14  Diego Novillo  <dnovillo@google.com>
132         * go-backend.c: Include stor-layout.h.
133         * go-gcc.cc: Include stringpool.h.
134         Include stor-layout.h.
135         Include varasm.h.
136         * go-lang.c: Include stor-layout.h.
138 2013-11-12  Andrew MacLeod  <amacleod@redhat.com>
140         * go-lang.c: Include gimplify.h.
142 2013-11-06  Ian Lance Taylor  <iant@google.com>
144         * go-lang.c (go_langhook_post_options): If
145         -fisolate-erroneous-paths was turned on by an optimization option,
146         turn it off.
148 2013-10-14  Chris Manghane  <cmang@google.com>
150         * go-gcc.cc (Gcc_backend::address_expression): New function.
152 2013-10-11  Chris Manghane  <cmang@google.com>
154         * go-gcc.cc (Gcc_backend::function_code_expression): New
155         function.
157 2013-10-10  Chris Manghane  <cmang@google.com>
159         * go-gcc.cc (Gcc_backend::error_function): New function.
160         (Gcc_backend::function): New function.
161         (Gcc_backend::make_function): New function.
162         (function_to_tree): New function.
164 2013-10-04  Chris Manghane  <cmang@google.com>
166         * go-gcc.cc (Gcc_backend::convert_expression): New function.
168 2013-10-02  Chris Manghane  <cmang@google.com>
170         * go-gcc.cc: Include "real.h" and "realmpfr.h".
171         (Gcc_backend::integer_constant_expression): New function.
172         (Gcc_backend::float_constant_expression): New function.
173         (Gcc_backend::complex_constant_expression): New function.
175 2013-09-30  Chris Manghane  <cmang@google.com>
177         * go-gcc.cc (Gcc_backend::error_expression): New function.
178         (Gcc_backend::var_expression): New function.
179         (Gcc_backend::indirect_expression): New function.
181 2013-09-25  Tom Tromey  <tromey@redhat.com>
183         * Make-lang.in (gospec.o): Remove.
184         (CFLAGS-go/gospec.o): New variable.
185         (GCCGO_OBJS): Update to use go/gospec.o.
186         (go_OBJS): Define.
187         (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
188         (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
189         (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
190         (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
191         (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
192         (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
193         (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
194         (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
195         (go/unsafe.o): Remove.
196         (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
197         (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
199 2013-09-25  Tom Tromey  <tromey@redhat.com>
201         * Make-lang.in (gospec.o): Don't use subshell.
203 2013-08-28  Ian Lance Taylor  <iant@google.com>
205         * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
206         the struct is not hidden.
207         (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
209 2013-08-06  Ian Lance Taylor  <iant@google.com>
211         * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
212         compute_reloc_for_constant.
214 2013-08-02  Ian Lance Taylor  <iant@google.com>
216         * go-gcc.cc (immutable_struct_set_init): Always call
217         resolve_unique_section.
219 2013-07-24  Ian Lance Taylor  <iant@google.com>
221         * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
222         fields, recreate those fields with the first one with a non-zero
223         size.
225 2013-07-23  Ian Lance Taylor  <iant@google.com>
227         * go-backend.c: Don't #include "rtl.h".
228         (go_imported_unsafe): Don't call init_varasm_once.
229         * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
231 2013-07-23  Ian Lance Taylor  <iant@google.com>
233         * go-lang.c: Don't #include "except.h".
234         * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
236 2013-06-18  Ian Lance Taylor  <iant@google.com>
238         * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
239         parameter.
240         (Gcc_backend::immutable_struct_set_init): Likewise.
242 2013-05-16  Jason Merrill  <jason@redhat.com>
244         * Make-lang.in (go1$(exeext)): Use link mutex.
246 2013-01-16  Shenghou Ma  <minux.ma@gmail.com>
248         * gospec.c: pass -u pthread_create to linker when static linking.
250 2012-12-21  Ian Lance Taylor  <iant@google.com>
252         PR bootstrap/54659
253         * go-system.h: Don't include <cstdio>.
255 2012-12-18  Ian Lance Taylor  <iant@google.com>
257         PR go/55201
258         * gospec.c: Revert last patch.
260 2012-12-18  Andreas Schwab  <schwab@linux-m68k.org>
262         PR go/55201
263         * gospec.c (LIBATOMIC): Define.
264         (LIBATOMIC_PROFILE): Define.
265         (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
267 2012-11-29  Ian Lance Taylor  <iant@google.com>
269         * go-gcc.cc: Include "output.h".
270         (global_variable): Add is_unique_section parameter.
271         (global_variable_set_init): Adjust unique section if necessary.
272         * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
274 2012-11-17  Diego Novillo  <dnovillo@google.com>
276         Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
278         * go-lang.c: Use new vec API in vec.h.
280 2012-11-16  Ian Lance Taylor  <iant@google.com>
282         * Make-lang.in (gccgo$(exeext)): Add + at start of command.
283         (go1$(exeext)): Likewise.
285 2012-10-30  Ian Lance Taylor  <iant@google.com>
287         * lang.opt (-fgo-relative-import-path): New option.
288         * go-lang.c (go_relative_import_path): New static variable.
289         (go_langhook_init): Pass go_relative_import_path to
290         go_create_gogo.
291         (go_langhook_handle_option): Handle -fgo-relative-import-path.
292         * go-c.h (go_create_gogo): Update declaration.
293         * gccgo.texi (Invoking gccgo): Document
294         -fgo-relative-import-path.
296 2012-09-17  Ian Lance Taylor  <iant@google.com>
298         * config-lang.in (target_libs): Add target-libbacktrace.
300 2012-09-16  Ian Lance Taylor  <iant@google.com>
302         * Make-lang.in (go/gogo.o): Depend on filenames.h.
304 2012-08-14   Diego Novillo  <dnovillo@google.com>
306         Merge from cxx-conversion branch.  Configury.
308         * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
309         * go-gcc.cc: Likewise.
310         * go-system.h: Likewise.
312 2012-07-24  Uros Bizjak  <ubizjak@gmail.com>
314         * go-lang.c (lang_decl): Add variable_size GTY option.
316 2012-05-09  Ian Lance Taylor  <iant@google.com>
318         * lang.opt: Add -fgo-pkgpath.
319         * go-lang.c (go_pkgpath): New static variable.
320         (go_prefix): New static variable.
321         (go_langhook_init): Pass go_pkgpath and go_prefix to
322         go_create_gogo.
323         (go_langhook_handle_option): Handle -fgo-pkgpath.  Change
324         -fgo-prefix handling to just set go_prefix.
325         * go-c.h (go_set_prefix): Don't declare.
326         (go_create_gogo): Add pkgpath and prefix to declaration.
327         * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
328         to pkgpath.  Don't include the package name in the asm name.
329         * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
330         docs for -fgo-prefix.
332 2012-04-23  Ian Lance Taylor  <iant@google.com>
334         * go-lang.c (go_langhook_init): Set MPFR precision to 256.
336 2012-04-20  Ian Lance Taylor  <iant@google.com>
338         * lang.opt: Add -fgo-check-divide-zero and
339         -fgo-check-divide-overflow.
340         * gccgo.texi (Invoking gccgo): Document new options.
342 2012-04-18  Steven Bosscher  <steven@gcc.gnu.org>
344         * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
345         with NULL_TREE type instead of void_type_node.
347 2012-03-09  Ian Lance Taylor  <iant@google.com>
349         * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
350         to the lhs type if necessary.
352 2012-03-08  Ian Lance Taylor  <iant@google.com>
354         * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
355         zero-sized variable.
356         (go_non_zero_struct): New global variable.
357         (Gcc_backend::non_zero_size_type): New function.
358         (Gcc_backend::global_variable): Don't build an assignment for a
359         zero-sized value.
360         * go-c.h (go_non_zero_struct): Declare.
361         * config-lang.in (gtfiles): Add go-c.h.
363 2012-02-29  Ian Lance Taylor  <iant@google.com>
365         * go-gcc.cc (class Gcc_tree): Add set_tree method.
366         (set_placeholder_pointer_type): When setting to a pointer to
367         error, set to error_mark_node.
369 2012-02-23  Richard Guenther  <rguenther@suse.de>
371         * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
372         build_distinct_type_copy.
374 2012-02-17  Ian Lance Taylor  <iant@google.com>
376         * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
378 2012-02-17  Ian Lance Taylor  <iant@google.com>
380         * gospec.c (lang_specific_driver): If linking, and no -o option
381         was used, add one.
383 2012-02-14  Ian Lance Taylor  <iant@google.com>
385         PR go/48411
386         * Make-lang.in (gccgo-cross$(exeext)): New target.
387         (go.all.cross): Depend on gccgo-cross$(exeext) instead of
388         gccgo$(exeext).
389         (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
390         gccgo-cross$(exeext) does not exist.
392 2012-02-07  Ian Lance Taylor  <iant@google.com>
394         * gccgo.texi (Function Names): Document //extern instead of
395         __asm__.
397 2012-02-01  Jakub Jelinek  <jakub@redhat.com>
399         PR target/52079
400         * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
401         return build_nonstandard_integer_type result if possible.
403 2012-01-21  Ian Lance Taylor  <iant@google.com>
405         * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
406         (Gcc_backend::type_alignment): Likewise.
407         (Gcc_backend::type_field_alignment): Likewise.
408         (Gcc_backend::type_field_offset): Likewise.
410 2012-01-20  Ian Lance Taylor  <iant@google.com>
412         * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
413         be empty.
414         (Gcc_backend::set_placeholder_struct_type): Likewise.
416 2012-01-17  Ian Lance Taylor  <iant@google.com>
418         * gospec.c (lang_specific_driver): If we see -S without -o, add -o
419         BASE.s rather than -o BASE.o.
421 2012-01-11  Ian Lance Taylor  <iant@google.com>
423         * go-lang.c (go_langhook_init): Initialize void_list_node before
424         calling go_create_gogo.
426 2012-01-10  Ian Lance Taylor  <iant@google.com>
428         * go-gcc.cc (Gcc_backend::type_size): New function.
429         (Gcc_backend::type_alignment): New function.
430         (Gcc_backend::type_field_alignment): New function.
431         (Gcc_backend::type_field_offset): New function.
432         * go-backend.c (go_type_alignment): Remove.
433         * go-c.h (go_type_alignment): Don't declare.
435 2011-12-27  Ian Lance Taylor  <iant@google.com>
437         * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
438         build_distinct_type_copy rather than build_variant_type_copy.
439         (Gcc_backend::set_placeholder_array_type): Likewise.
440         (Gcc_backend::named_type): Add special handling for builtin
441         basic types.
443 2011-12-22  Ian Lance Taylor  <iant@google.com>
445         * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
446         for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
447         (Gcc_backend::set_placeholder_struct_type): Likewise.
448         (Gcc_backend::set_placeholder_array_type): Likewise.
449         (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
451 2011-12-13  Ian Lance Taylor  <iant@google.com>
453         * go-backend.c: #include "simple-object.h" and "intl.h".
454         (GO_EXPORT_SEGMENT_NAME): Define if not defined.
455         (GO_EXPORT_SECTION_NAME): Likewise.
456         (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
457         (go_read_export_data): New function.
458         * go-c.h (go_read_export_data): Declare.
460 2011-11-29  Sanjoy Das  <thedigitalangel@gmail.com>
461             Ian Lance Taylor  <iant@google.com>
463         * go-location.h: New file.
464         * go-linemap.cc: New file.
465         * go-gcc.cc: Change all uses of source_location to Location.
466         * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
467         (GO_LINEMAP_H): New variable.
468         (GO_LEX_H): Use $(GO_LINEMAP_H).
469         (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
470         (go/go-linemap.o): New target.
472 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
474         * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
476 2011-08-24  Roberto Lublinerman  <rluble@gmail.com>
478         * lang.opt: Add fgo-optimize-.
479         * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
480         * go-c.h (go_enable_optimize): Declare.
481         * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
482         (GO_EXPORT_H): Define.
483         (GO_IMPORT_H): Add $(GO_EXPORT_H).
484         (GO_AST_DUMP_H): Define.
485         (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
486         (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
487         (go/types.o): Likewise.
488         (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
489         (go/go-optimize.o): New target.
491 2011-08-24  Joseph Myers  <joseph@codesourcery.com>
493         * Make-lang.in (CFLAGS-go/go-lang.o): New.
494         (go/go-lang.o): Remove explicit compilation rule.
496 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
498         * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
500 2011-08-02  Roberto Lublinerman  <rluble@gmail.com>
502         * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
503         (go/ast-dump.o): New target.
504         (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
505         (go/statements.o): Likewise.
507 2011-07-06  Richard Guenther  <rguenther@suse.de>
509         * go-lang.c (go_langhook_init):
510         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
512 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
514         * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
515         dependencies.
516         * go-backend.c: Include common/common-target.h.
517         (go_write_export_data): Use targetm_common.have_named_sections.
518         * go-lang.c: Include common/common-target.h.
519         (go_langhook_init_options_struct): Use
520         targetm_common.supports_split_stack.
522 2011-06-13  Ian Lance Taylor  <iant@google.com>
524         * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
526 2011-06-10  Ian Lance Taylor  <iant@google.com>
528         * go-gcc.cc: Include "toplev.h".
529         (Gcc_backend::immutable_struct): New function.
530         (Gcc_backend::immutable_struct_set_init): New function.
531         (Gcc_backend::immutable_struct_reference): New function.
532         * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
534 2011-06-09  Ian Lance Taylor  <iant@google.com>
536         * go-gcc.cc (Gcc_backend::zero_expression): New function.
538 2011-06-07  Richard Guenther  <rguenther@suse.de>
540         * go-lang.c (go_langhook_init): Do not set
541         size_type_node or call set_sizetype.
543 2011-05-27  Ian Lance Taylor  <iant@google.com>
545         * go-backend.c: Include "output.h".
546         (go_write_export_data): New function.
547         * go-c.h (go_write_export_data): Declare.
548         * Make-lang.in (go/go-backend.o): Depend on output.h.
549         (go/export.o): Depend on $(GO_C_H).  Do not depend on
550         $(MACHMODE_H), output.h, or $(TARGET_H).
552 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
554         * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
555         (gccgo$(exeext)): Use libcommon-target.a.
557 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
559         * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
561 2011-05-13  Ian Lance Taylor  <iant@google.com>
563         * go-gcc.cc (Gcc_backend::function_type): When building a struct
564         for multiple results, check that all fields types have a size.
565         (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
567 2011-05-12  Ian Lance Taylor  <iant@google.com>
569         * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
570         parameter.
571         (Gcc_backend::parameter_variable): Likewise.
573 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
575         * go-lang.c (global_bindings_p): Return bool and simplify.
577 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
579         * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
581 2011-05-04  Ian Lance Taylor  <iant@google.com>
583         * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
584         (Gcc_backend::fill_in_struct): New function.
585         (Gcc_backend::array_type): Implement.
586         (Gcc_backend::fill_in_array): New function.
587         (Gcc_backend::placeholder_pointer_type): New function.
588         (Gcc_backend::set_placeholder_pointer_type): New function.
589         (Gcc_backend::set_placeholder_function_type): New function.
590         (Gcc_backend::placeholder_struct_type): New function.
591         (Gcc_backend::set_placeholder_struct_type): New function.
592         (Gcc_backend::placeholder_array_type): New function.
593         (Gcc_backend::set_placeholder_array_type): New function.
594         (Gcc_backend::named_type): New function.
595         (Gcc_backend::circular_pointer_type): New function.
596         (Gcc_backend::is_circular_pointer_type): New function.
598 2011-04-26  Ian Lance Taylor  <iant@google.com>
600         * go-gcc.cc (Gcc_backend::struct_type): Implement.
602 2011-04-25  Ian Lance Taylor  <iant@google.com>
604         * go-gcc.cc (Gcc_backend::error_type): Implement.
605         (Gcc_backend::string_type): Remove.
606         (Gcc_backend::function_type): Change signature and implement.
607         (Gcc_backend::struct_type): Change signature.
608         (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
609         (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
610         (Gcc_backend::pointer_type): Check for error.
611         * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
613 2011-04-25  Evan Shaw  <edsrzf@gmail.com>
615         * go-gcc.c (class Gcc_tree): Make get_tree const.
616         (Gcc_backend::void_type): Implement.
617         (Gcc_backend::bool_type): Implement.
618         (Gcc_backend::integer_type): Implement.
619         (Gcc_backend::float_type): Implement.
620         (Gcc_backend::complex_type): New function.
621         (Gcc_backend::pointer_type): New function.
622         (Gcc_backend::make_type): New function.
623         (type_to_tree): New function.
625 2011-04-21  Ian Lance Taylor  <iant@google.com>
627         * go-system.h (go_assert, go_unreachable): Define.
629 2011-04-19  Ian Lance Taylor  <iant@google.com>
631         * go-system.h: Include "intl.h".
632         * Make-lang.in (GO_SYSTEM_H): Add intl.h.
633         (go/statements.o): Remove dependencies on intl.h $(TREE_H)
634         $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
636 2011-04-19  Ian Lance Taylor  <iant@google.com>
638         * go-gcc.cc (Gcc_backend::temporary_variable): New function.
640 2011-04-19  Ian Lance Taylor  <iant@google.com>
642         * go-gcc.cc (class Bblock): Define.
643         (Gcc_backend::if_statement): Change then_block and else_block to
644         Bblock*.
645         (Gcc_backend::block): New function.
646         (Gcc_backend::block_add_statements): New function.
647         (Gcc_backend::block_statement): New function.
648         (tree_to_block, block_to_tree): New functions.
650 2011-04-18  Ian Lance Taylor  <iant@google.com>
652         * go-gcc.cc: Include "go-c.h".
653         (class Bvariable): Define.
654         (Gcc_backend::init_statement): New function.
655         (Gcc_backend::global_variable): New function.
656         (Gcc_backend::global_variable_set_init): New function.
657         (Gcc_backend::local_variable): New function.
658         (Gcc_backend::parameter_variable): New function.
659         (tree_to_type, var_to_tree): New functions.
660         * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
661         * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
663 2011-04-15  Ian Lance Taylor  <iant@google.com>
665         * go-gcc.cc (Gcc_backend::compound_statement): New function.
666         (Gcc_backend::assignment_statement): Use error_statement.
667         (Gcc_backend::return_statement): Likewise.
668         (Gcc_backend::if_statement): Likewise.
669         (Gcc_backend::switch_statement): Likewise.
670         (Gcc_backend::statement_list): Likewise.
672 2011-04-14  Ian Lance Taylor  <iant@google.com>
674         * go-gcc.cc (Gcc_backend::error_statement): New function.
676 2011-04-13  Ian Lance Taylor  <iant@google.com>
678         * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
680 2011-04-13  Ian Lance Taylor  <iant@google.com>
682         * Make-lang.in (GO_OBJS): Add go/runtime.o.
683         (GO_RUNTIME_H): New variable.
684         (go/runtime.o): New target.
685         (go/gogo.o): Depend on $(GO_RUNTIME_H).
686         (go/statements.o): Likewise.
688 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
690         * go-lang.c (union lang_tree_node): Check for TS_COMMON before
691         calling TREE_CHAIN.
693 2011-04-06  Ian Lance Taylor  <iant@google.com>
695         * go-gcc.cc (if_statement): Use build3_loc.
696         (Gcc_backend::switch_statement): New function.
697         (Gcc_backend::statement_list): New function.
699 2011-04-06  Ian Lance Taylor  <iant@google.com>
701         * go-gcc.cc (Gcc_backend::if_statement): New function.
702         (tree_to_stat): New function.
703         (expr_to_tree): Renamed from expression_to_tree.
704         (stat_to_tree): Renamed from statement_to_tree.
706 2011-04-06  Ian Lance Taylor  <iant@google.com>
708         * go-gcc.cc (Gcc_backend::expression_statement): New function.
710 2011-04-04  Ian Lance Taylor  <iant@google.com>
712         * go-gcc.c (class Blabel): Define.
713         (Gcc_backend::make_expression): New function.
714         (get_identifier_from_string): New function.
715         (Gcc_backend::label): New function.
716         (Gcc_backend::label_definition_statement): New function.
717         (Gcc_backend::goto_statement): New function.
718         (Gcc_backend::label_address): New function.
719         (expression_to_tree): New function.
720         * Make-lang.in (go/expressions.o): Depend on
721         go/gofrontend/backend.h.
722         (go/gogo.o): Likewise.
724 2011-04-04  Ian Lance Taylor  <iant@google.com>
726         * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
727         (class Bfunction): Define.
728         (Gcc_backend::assignment_statement): Rename from assignment.
729         Check for errors.
730         (Gcc_backend::return_statement): New function.
731         (tree_to_function): New function.
732         * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
733         $(GIMPLE_H), and $(GO_GOGO_H).
735 2011-04-03  Ian Lance Taylor  <iant@google.com>
737         * go-gcc.cc: New file.
738         * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
739         (go/go-gcc.o): New target.
740         (go/go.o): Depend on go/gofrontend/backend.h.
741         (go/statements.o): Likewise.
743 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
745         * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
747 2011-02-08  Ian Lance Taylor  <iant@google.com>
749         * go-lang.c (go_langhook_init_options_struct): Set
750         frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.
752 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
754         * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
755         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
757 2011-01-21  Ian Lance Taylor  <iant@google.com>
759         * go-lang.c (go_langhook_init): Omit float_type_size when calling
760         go_create_gogo.
761         * go-c.h: Update declaration of go_create_gogo.
763 2011-01-13  Ian Lance Taylor  <iant@google.com>
765         * go-backend.c: Include "rtl.h" and "target.h".
766         (go_imported_unsafe): New function.
767         * go-c.h (go_imported_unsafe): Declare.
768         * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
769         (go/gogo-tree.o): Remove dependency on $(RTL_H).
770         (go/unsafe.o): Depend on $(GO_C_H).
772 2010-12-31  Joern Rennecke  <amylaar@spamcop.net>
774         PR go/47113
775         * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
776         variable ‘field’ .
778 2010-12-21  Ian Lance Taylor  <iant@google.com>
780         * Make-lang.in (check-go): Remove.
781         (lang_checks_parallelized): Add check-go.
782         (check_go_parallelize): Set.
784 2010-12-13  Ian Lance Taylor  <iant@google.com>
786         * gospec.c (lang_specific_driver): Add a -o option if not linking
787         and there is no -o option already.
789 2010-12-07  Ian Lance Taylor  <iant@google.com>
791         PR tree-optimization/46805
792         PR tree-optimization/46833
793         * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
795 2010-12-06  Ian Lance Taylor  <iant@google.com>
797         PR other/46789
798         PR bootstrap/46812
799         * go-lang.c (go_char_p): Define type and vectors.
800         (go_search_dirs): New static variable.
801         (go_langhook_handle_option): Use version and version/machine
802         directories for -L.
803         (go_langhook_post_options): Add non-specific -L paths.
804         * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
805         DEFAULT_TARGET_MACHINE when compiling.
806         * gccgo.texi (Invoking gccgo): Only document -L for linking.
807         (Import and Export): Don't mention -L for finding import files.
809 2010-12-03  Ian Lance Taylor  <iant@google.com>
811         PR bootstrap/46776
812         * go-backend.c: New file.
813         * go-c.h (go_type_alignment): Declare.
814         (go_field_alignment, go_trampoline_info): Declare.
815         * Make-lang.in (GO_OBJS): Add go/go-backend.o.
816         (go/go-backend.o): New target.
817         (go/go-lang.o): Make dependencies match source file.
818         (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
819         (go/gogo-tree.o): Don't depend on $(TM_H).
821 2010-12-03  Ian Lance Taylor  <iant@google.com>
823         * config-lang.in (build_by_default): Set to no.
825 2010-12-02  Ian Lance Taylor  <iant@google.com>
827         Go frontend added to gcc repository.
829 Copyright (C) 2010-2014 Free Software Foundation, Inc.
831 Copying and distribution of this file, with or without modification,
832 are permitted in any medium without royalty provided the copyright
833 notice and this notice are preserved.