1 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
3 * go-lang.c (struct GTY): Don't use variable_size gty attribute.
5 2014-05-06 Chris Manghane <cmang@google.com>
7 * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
8 (Gcc_backend::boolean_constant_expression): New method.
9 (Gcc_backend::zero_expression): Use this->make_expression rather
11 (Gcc_backend::var_expression): Likewise.
12 (Gcc_backend::integer_constant_expression): Likewise.
13 (Gcc_backend::float_constant_expression): Likewise.
14 (Gcc_backend::complex_constant_expression): Likewise.
15 (Gcc_backend::struct_field_expression): Likewise.
16 (tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
17 (tree_to_function, tree_to_block): Remove functions.
18 (type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
19 (block_to_tree, var_to_tree, function_to_tree): Remove functions.
21 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
22 Mike Stump <mikestump@comcast.net>
23 Richard Sandiford <rdsandiford@googlemail.com>
25 * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
27 2014-05-06 Chris Manghane <cmang@google.com>
29 * go-c.h (go_create_gogo): Update declaration to add
30 check_divide_zero and check_divide_overflow parameters.
31 * go-lang.c (go_langhook_init): Pass new arguments to
34 2014-05-05 Chris Manghane <cmang@google.com>
36 * go-gcc.cc (Gcc_backend::implicit_variable): Rename from
37 gc_root_variable. Add name and is_constant parameters.
39 2014-05-05 Chris Manghane <cmang@google.com>
41 * go-gcc.cc (Gcc_backend::indirect_expression): Add btype
43 (Gcc_backend::temporary_variable): Check for erroneous function.
45 2014-04-30 Chris Manghane <cmang@google.com>
47 * go-backend.c: #include "diagnostics.h".
48 (saw_errors): New function.
49 * go-c.h (saw_errors): Declare.
50 * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
52 2014-04-30 Chris Manghane <cmang@google.com>
54 * go-lang.c (go_langhook_type_for_size): Do it here, rather than
55 calling into Go frontend.
56 (go_langhook_type_for_mode): Likewise.
57 * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
59 2014-04-30 Chris Manghane <cmang@google.com>
61 * go-gcc.cc: #include "langhooks.h".
62 (Gcc_backend::Gcc_backend): Add constructor.
63 (Gcc_backend::lookup_function): New function.
64 (Gcc_backend::define_builtin): New private function.
65 (Gcc_backend::gcc_backend): Remove.
66 (go_get_backend): Use new to create new Gcc_backend.
68 2014-04-25 Chris Manghane <cmang@google.com>
70 * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
71 (Gcc_backend::return_statement): Push and pop function.
72 (Gcc_backend::label): Likewise.
73 (Gcc_backend::function_defer_statement): Likewise.
74 (Gcc_backend::switch_statement): Add function parameter.
75 (Gcc_backend::block): Don't permit function to be NULL.
76 (Gcc_backend::temporary_variable): Change go_assert to
78 (Gcc_backend::gc_root_variable): New function.
79 (Gcc_backend::write_global_definitions): New function.
81 2014-04-22 Chris Manghane <cmang@google.com>
83 * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
84 call to create_tmp_var. Require that function be non-NULL.
86 2014-04-17 Chris Manghane <cmang@google.com>
88 * go-gcc.cc (Gcc_backend::named_constant_expression): New
91 2014-04-14 Chris Manghane <cmang@google.com>
93 * go-gcc.cc: Include "convert.h".
94 (Gcc_backend::string_constant_expression): New function.
95 (Gcc_backend::real_part_expression): Likewise.
96 (Gcc_backend::imag_part_expression): Likewise.
97 (Gcc_backend::complex_expression): Likewise.
98 (Gcc_backend::constructor_expression): Likewise.
99 (Gcc_backend::array_constructor_expression): Likewise.
100 (Gcc_backend::pointer_offset_expression): Likewise.
101 (Gcc_backend::array_index_expression): Likewise.
102 (Gcc_backend::call_expression): Likewise.
103 (Gcc_backend::exception_handler_statement): Likewise.
104 (Gcc_backend::function_defer_statement): Likewise.
105 (Gcc_backend::function_set_parameters): Likewise.
106 (Gcc_backend::function_set_body): Likewise.
107 (Gcc_backend::convert_expression): Handle various type
110 2014-03-03 Ian Lance Taylor <iant@google.com>
112 * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
114 (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
117 2014-01-24 Chris Manghane <cmang@google.com>
119 * go-gcc.cc (Gcc_backend::unary_expression): New function.
121 2014-01-16 Chris Manghane <cmang@google.com>
123 * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
125 (operator_to_tree_code): New static function.
126 (Gcc_backend::binary_expression): New function.
128 2014-01-14 Chris Manghane <cmang@google.com>
130 * go-gcc.cc (Gcc_backend::compound_expression): New function.
131 (Gcc_backend::conditional_expression): New function.
133 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
135 Update copyright years
137 2014-01-02 Tobias Burnus <burnus@net-b.de>
139 * gccgo.texi: Bump @copying's copyright year.
141 2013-12-16 Chris Manghane <cmang@google.com>
143 * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
145 2013-12-11 Ian Lance Taylor <iant@google.com>
147 * go-lang.c (go_langhook_post_options): Disable sibling calls by
150 2013-12-10 Ian Lance Taylor <iant@google.com>
152 * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
155 2013-12-05 Ian Lance Taylor <iant@google.com>
157 Revert this change; no longer required.
158 2013-11-06 Ian Lance Taylor <iant@google.com>
160 * go-lang.c (go_langhook_post_options): If
161 -fisolate-erroneous-paths was turned on by an optimization option,
164 2013-11-23 Ian Lance Taylor <iant@google.com>
166 * go-gcc.cc (Gcc_backend::function_type): Add result_struct
169 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
171 * go-gcc.cc: Add required include files from gimple.h.
172 * go-lang.c: Likewise
174 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
176 * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
177 tree_to_shwi throughout.
179 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
181 * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
182 tree_fits_shwi_p throughout.
184 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
186 * go-lang.c: Include only gimplify.h and gimple.h as needed.
188 2013-11-14 Diego Novillo <dnovillo@google.com>
190 * go-backend.c: Include stor-layout.h.
191 * go-gcc.cc: Include stringpool.h.
192 Include stor-layout.h.
194 * go-lang.c: Include stor-layout.h.
196 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
198 * go-lang.c: Include gimplify.h.
200 2013-11-06 Ian Lance Taylor <iant@google.com>
202 * go-lang.c (go_langhook_post_options): If
203 -fisolate-erroneous-paths was turned on by an optimization option,
206 2013-10-14 Chris Manghane <cmang@google.com>
208 * go-gcc.cc (Gcc_backend::address_expression): New function.
210 2013-10-11 Chris Manghane <cmang@google.com>
212 * go-gcc.cc (Gcc_backend::function_code_expression): New
215 2013-10-10 Chris Manghane <cmang@google.com>
217 * go-gcc.cc (Gcc_backend::error_function): New function.
218 (Gcc_backend::function): New function.
219 (Gcc_backend::make_function): New function.
220 (function_to_tree): New function.
222 2013-10-04 Chris Manghane <cmang@google.com>
224 * go-gcc.cc (Gcc_backend::convert_expression): New function.
226 2013-10-02 Chris Manghane <cmang@google.com>
228 * go-gcc.cc: Include "real.h" and "realmpfr.h".
229 (Gcc_backend::integer_constant_expression): New function.
230 (Gcc_backend::float_constant_expression): New function.
231 (Gcc_backend::complex_constant_expression): New function.
233 2013-09-30 Chris Manghane <cmang@google.com>
235 * go-gcc.cc (Gcc_backend::error_expression): New function.
236 (Gcc_backend::var_expression): New function.
237 (Gcc_backend::indirect_expression): New function.
239 2013-09-25 Tom Tromey <tromey@redhat.com>
241 * Make-lang.in (gospec.o): Remove.
242 (CFLAGS-go/gospec.o): New variable.
243 (GCCGO_OBJS): Update to use go/gospec.o.
245 (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
246 (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
247 (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
248 (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
249 (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
250 (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
251 (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
252 (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
253 (go/unsafe.o): Remove.
254 (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
255 (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
257 2013-09-25 Tom Tromey <tromey@redhat.com>
259 * Make-lang.in (gospec.o): Don't use subshell.
261 2013-08-28 Ian Lance Taylor <iant@google.com>
263 * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
264 the struct is not hidden.
265 (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
267 2013-08-06 Ian Lance Taylor <iant@google.com>
269 * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
270 compute_reloc_for_constant.
272 2013-08-02 Ian Lance Taylor <iant@google.com>
274 * go-gcc.cc (immutable_struct_set_init): Always call
275 resolve_unique_section.
277 2013-07-24 Ian Lance Taylor <iant@google.com>
279 * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
280 fields, recreate those fields with the first one with a non-zero
283 2013-07-23 Ian Lance Taylor <iant@google.com>
285 * go-backend.c: Don't #include "rtl.h".
286 (go_imported_unsafe): Don't call init_varasm_once.
287 * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
289 2013-07-23 Ian Lance Taylor <iant@google.com>
291 * go-lang.c: Don't #include "except.h".
292 * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
294 2013-06-18 Ian Lance Taylor <iant@google.com>
296 * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
298 (Gcc_backend::immutable_struct_set_init): Likewise.
300 2013-05-16 Jason Merrill <jason@redhat.com>
302 * Make-lang.in (go1$(exeext)): Use link mutex.
304 2013-01-16 Shenghou Ma <minux.ma@gmail.com>
306 * gospec.c: pass -u pthread_create to linker when static linking.
308 2012-12-21 Ian Lance Taylor <iant@google.com>
311 * go-system.h: Don't include <cstdio>.
313 2012-12-18 Ian Lance Taylor <iant@google.com>
316 * gospec.c: Revert last patch.
318 2012-12-18 Andreas Schwab <schwab@linux-m68k.org>
321 * gospec.c (LIBATOMIC): Define.
322 (LIBATOMIC_PROFILE): Define.
323 (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
325 2012-11-29 Ian Lance Taylor <iant@google.com>
327 * go-gcc.cc: Include "output.h".
328 (global_variable): Add is_unique_section parameter.
329 (global_variable_set_init): Adjust unique section if necessary.
330 * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
332 2012-11-17 Diego Novillo <dnovillo@google.com>
334 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
336 * go-lang.c: Use new vec API in vec.h.
338 2012-11-16 Ian Lance Taylor <iant@google.com>
340 * Make-lang.in (gccgo$(exeext)): Add + at start of command.
341 (go1$(exeext)): Likewise.
343 2012-10-30 Ian Lance Taylor <iant@google.com>
345 * lang.opt (-fgo-relative-import-path): New option.
346 * go-lang.c (go_relative_import_path): New static variable.
347 (go_langhook_init): Pass go_relative_import_path to
349 (go_langhook_handle_option): Handle -fgo-relative-import-path.
350 * go-c.h (go_create_gogo): Update declaration.
351 * gccgo.texi (Invoking gccgo): Document
352 -fgo-relative-import-path.
354 2012-09-17 Ian Lance Taylor <iant@google.com>
356 * config-lang.in (target_libs): Add target-libbacktrace.
358 2012-09-16 Ian Lance Taylor <iant@google.com>
360 * Make-lang.in (go/gogo.o): Depend on filenames.h.
362 2012-08-14 Diego Novillo <dnovillo@google.com>
364 Merge from cxx-conversion branch. Configury.
366 * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
367 * go-gcc.cc: Likewise.
368 * go-system.h: Likewise.
370 2012-07-24 Uros Bizjak <ubizjak@gmail.com>
372 * go-lang.c (lang_decl): Add variable_size GTY option.
374 2012-05-09 Ian Lance Taylor <iant@google.com>
376 * lang.opt: Add -fgo-pkgpath.
377 * go-lang.c (go_pkgpath): New static variable.
378 (go_prefix): New static variable.
379 (go_langhook_init): Pass go_pkgpath and go_prefix to
381 (go_langhook_handle_option): Handle -fgo-pkgpath. Change
382 -fgo-prefix handling to just set go_prefix.
383 * go-c.h (go_set_prefix): Don't declare.
384 (go_create_gogo): Add pkgpath and prefix to declaration.
385 * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
386 to pkgpath. Don't include the package name in the asm name.
387 * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the
388 docs for -fgo-prefix.
390 2012-04-23 Ian Lance Taylor <iant@google.com>
392 * go-lang.c (go_langhook_init): Set MPFR precision to 256.
394 2012-04-20 Ian Lance Taylor <iant@google.com>
396 * lang.opt: Add -fgo-check-divide-zero and
397 -fgo-check-divide-overflow.
398 * gccgo.texi (Invoking gccgo): Document new options.
400 2012-04-18 Steven Bosscher <steven@gcc.gnu.org>
402 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
403 with NULL_TREE type instead of void_type_node.
405 2012-03-09 Ian Lance Taylor <iant@google.com>
407 * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
408 to the lhs type if necessary.
410 2012-03-08 Ian Lance Taylor <iant@google.com>
412 * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
414 (go_non_zero_struct): New global variable.
415 (Gcc_backend::non_zero_size_type): New function.
416 (Gcc_backend::global_variable): Don't build an assignment for a
418 * go-c.h (go_non_zero_struct): Declare.
419 * config-lang.in (gtfiles): Add go-c.h.
421 2012-02-29 Ian Lance Taylor <iant@google.com>
423 * go-gcc.cc (class Gcc_tree): Add set_tree method.
424 (set_placeholder_pointer_type): When setting to a pointer to
425 error, set to error_mark_node.
427 2012-02-23 Richard Guenther <rguenther@suse.de>
429 * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
430 build_distinct_type_copy.
432 2012-02-17 Ian Lance Taylor <iant@google.com>
434 * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
436 2012-02-17 Ian Lance Taylor <iant@google.com>
438 * gospec.c (lang_specific_driver): If linking, and no -o option
441 2012-02-14 Ian Lance Taylor <iant@google.com>
444 * Make-lang.in (gccgo-cross$(exeext)): New target.
445 (go.all.cross): Depend on gccgo-cross$(exeext) instead of
447 (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
448 gccgo-cross$(exeext) does not exist.
450 2012-02-07 Ian Lance Taylor <iant@google.com>
452 * gccgo.texi (Function Names): Document //extern instead of
455 2012-02-01 Jakub Jelinek <jakub@redhat.com>
458 * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
459 return build_nonstandard_integer_type result if possible.
461 2012-01-21 Ian Lance Taylor <iant@google.com>
463 * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
464 (Gcc_backend::type_alignment): Likewise.
465 (Gcc_backend::type_field_alignment): Likewise.
466 (Gcc_backend::type_field_offset): Likewise.
468 2012-01-20 Ian Lance Taylor <iant@google.com>
470 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
472 (Gcc_backend::set_placeholder_struct_type): Likewise.
474 2012-01-17 Ian Lance Taylor <iant@google.com>
476 * gospec.c (lang_specific_driver): If we see -S without -o, add -o
477 BASE.s rather than -o BASE.o.
479 2012-01-11 Ian Lance Taylor <iant@google.com>
481 * go-lang.c (go_langhook_init): Initialize void_list_node before
482 calling go_create_gogo.
484 2012-01-10 Ian Lance Taylor <iant@google.com>
486 * go-gcc.cc (Gcc_backend::type_size): New function.
487 (Gcc_backend::type_alignment): New function.
488 (Gcc_backend::type_field_alignment): New function.
489 (Gcc_backend::type_field_offset): New function.
490 * go-backend.c (go_type_alignment): Remove.
491 * go-c.h (go_type_alignment): Don't declare.
493 2011-12-27 Ian Lance Taylor <iant@google.com>
495 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
496 build_distinct_type_copy rather than build_variant_type_copy.
497 (Gcc_backend::set_placeholder_array_type): Likewise.
498 (Gcc_backend::named_type): Add special handling for builtin
501 2011-12-22 Ian Lance Taylor <iant@google.com>
503 * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
504 for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
505 (Gcc_backend::set_placeholder_struct_type): Likewise.
506 (Gcc_backend::set_placeholder_array_type): Likewise.
507 (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
509 2011-12-13 Ian Lance Taylor <iant@google.com>
511 * go-backend.c: #include "simple-object.h" and "intl.h".
512 (GO_EXPORT_SEGMENT_NAME): Define if not defined.
513 (GO_EXPORT_SECTION_NAME): Likewise.
514 (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
515 (go_read_export_data): New function.
516 * go-c.h (go_read_export_data): Declare.
518 2011-11-29 Sanjoy Das <thedigitalangel@gmail.com>
519 Ian Lance Taylor <iant@google.com>
521 * go-location.h: New file.
522 * go-linemap.cc: New file.
523 * go-gcc.cc: Change all uses of source_location to Location.
524 * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
525 (GO_LINEMAP_H): New variable.
526 (GO_LEX_H): Use $(GO_LINEMAP_H).
527 (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
528 (go/go-linemap.o): New target.
530 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
532 * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
534 2011-08-24 Roberto Lublinerman <rluble@gmail.com>
536 * lang.opt: Add fgo-optimize-.
537 * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
538 * go-c.h (go_enable_optimize): Declare.
539 * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
540 (GO_EXPORT_H): Define.
541 (GO_IMPORT_H): Add $(GO_EXPORT_H).
542 (GO_AST_DUMP_H): Define.
543 (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
544 (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
545 (go/types.o): Likewise.
546 (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
547 (go/go-optimize.o): New target.
549 2011-08-24 Joseph Myers <joseph@codesourcery.com>
551 * Make-lang.in (CFLAGS-go/go-lang.o): New.
552 (go/go-lang.o): Remove explicit compilation rule.
554 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
556 * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
558 2011-08-02 Roberto Lublinerman <rluble@gmail.com>
560 * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
561 (go/ast-dump.o): New target.
562 (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
563 (go/statements.o): Likewise.
565 2011-07-06 Richard Guenther <rguenther@suse.de>
567 * go-lang.c (go_langhook_init):
568 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
570 2011-06-14 Joseph Myers <joseph@codesourcery.com>
572 * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
574 * go-backend.c: Include common/common-target.h.
575 (go_write_export_data): Use targetm_common.have_named_sections.
576 * go-lang.c: Include common/common-target.h.
577 (go_langhook_init_options_struct): Use
578 targetm_common.supports_split_stack.
580 2011-06-13 Ian Lance Taylor <iant@google.com>
582 * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
584 2011-06-10 Ian Lance Taylor <iant@google.com>
586 * go-gcc.cc: Include "toplev.h".
587 (Gcc_backend::immutable_struct): New function.
588 (Gcc_backend::immutable_struct_set_init): New function.
589 (Gcc_backend::immutable_struct_reference): New function.
590 * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
592 2011-06-09 Ian Lance Taylor <iant@google.com>
594 * go-gcc.cc (Gcc_backend::zero_expression): New function.
596 2011-06-07 Richard Guenther <rguenther@suse.de>
598 * go-lang.c (go_langhook_init): Do not set
599 size_type_node or call set_sizetype.
601 2011-05-27 Ian Lance Taylor <iant@google.com>
603 * go-backend.c: Include "output.h".
604 (go_write_export_data): New function.
605 * go-c.h (go_write_export_data): Declare.
606 * Make-lang.in (go/go-backend.o): Depend on output.h.
607 (go/export.o): Depend on $(GO_C_H). Do not depend on
608 $(MACHMODE_H), output.h, or $(TARGET_H).
610 2011-05-24 Joseph Myers <joseph@codesourcery.com>
612 * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
613 (gccgo$(exeext)): Use libcommon-target.a.
615 2011-05-20 Joseph Myers <joseph@codesourcery.com>
617 * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
619 2011-05-13 Ian Lance Taylor <iant@google.com>
621 * go-gcc.cc (Gcc_backend::function_type): When building a struct
622 for multiple results, check that all fields types have a size.
623 (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
625 2011-05-12 Ian Lance Taylor <iant@google.com>
627 * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
629 (Gcc_backend::parameter_variable): Likewise.
631 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
633 * go-lang.c (global_bindings_p): Return bool and simplify.
635 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
637 * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
639 2011-05-04 Ian Lance Taylor <iant@google.com>
641 * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
642 (Gcc_backend::fill_in_struct): New function.
643 (Gcc_backend::array_type): Implement.
644 (Gcc_backend::fill_in_array): New function.
645 (Gcc_backend::placeholder_pointer_type): New function.
646 (Gcc_backend::set_placeholder_pointer_type): New function.
647 (Gcc_backend::set_placeholder_function_type): New function.
648 (Gcc_backend::placeholder_struct_type): New function.
649 (Gcc_backend::set_placeholder_struct_type): New function.
650 (Gcc_backend::placeholder_array_type): New function.
651 (Gcc_backend::set_placeholder_array_type): New function.
652 (Gcc_backend::named_type): New function.
653 (Gcc_backend::circular_pointer_type): New function.
654 (Gcc_backend::is_circular_pointer_type): New function.
656 2011-04-26 Ian Lance Taylor <iant@google.com>
658 * go-gcc.cc (Gcc_backend::struct_type): Implement.
660 2011-04-25 Ian Lance Taylor <iant@google.com>
662 * go-gcc.cc (Gcc_backend::error_type): Implement.
663 (Gcc_backend::string_type): Remove.
664 (Gcc_backend::function_type): Change signature and implement.
665 (Gcc_backend::struct_type): Change signature.
666 (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
667 (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
668 (Gcc_backend::pointer_type): Check for error.
669 * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
671 2011-04-25 Evan Shaw <edsrzf@gmail.com>
673 * go-gcc.c (class Gcc_tree): Make get_tree const.
674 (Gcc_backend::void_type): Implement.
675 (Gcc_backend::bool_type): Implement.
676 (Gcc_backend::integer_type): Implement.
677 (Gcc_backend::float_type): Implement.
678 (Gcc_backend::complex_type): New function.
679 (Gcc_backend::pointer_type): New function.
680 (Gcc_backend::make_type): New function.
681 (type_to_tree): New function.
683 2011-04-21 Ian Lance Taylor <iant@google.com>
685 * go-system.h (go_assert, go_unreachable): Define.
687 2011-04-19 Ian Lance Taylor <iant@google.com>
689 * go-system.h: Include "intl.h".
690 * Make-lang.in (GO_SYSTEM_H): Add intl.h.
691 (go/statements.o): Remove dependencies on intl.h $(TREE_H)
692 $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
694 2011-04-19 Ian Lance Taylor <iant@google.com>
696 * go-gcc.cc (Gcc_backend::temporary_variable): New function.
698 2011-04-19 Ian Lance Taylor <iant@google.com>
700 * go-gcc.cc (class Bblock): Define.
701 (Gcc_backend::if_statement): Change then_block and else_block to
703 (Gcc_backend::block): New function.
704 (Gcc_backend::block_add_statements): New function.
705 (Gcc_backend::block_statement): New function.
706 (tree_to_block, block_to_tree): New functions.
708 2011-04-18 Ian Lance Taylor <iant@google.com>
710 * go-gcc.cc: Include "go-c.h".
711 (class Bvariable): Define.
712 (Gcc_backend::init_statement): New function.
713 (Gcc_backend::global_variable): New function.
714 (Gcc_backend::global_variable_set_init): New function.
715 (Gcc_backend::local_variable): New function.
716 (Gcc_backend::parameter_variable): New function.
717 (tree_to_type, var_to_tree): New functions.
718 * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
719 * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
721 2011-04-15 Ian Lance Taylor <iant@google.com>
723 * go-gcc.cc (Gcc_backend::compound_statement): New function.
724 (Gcc_backend::assignment_statement): Use error_statement.
725 (Gcc_backend::return_statement): Likewise.
726 (Gcc_backend::if_statement): Likewise.
727 (Gcc_backend::switch_statement): Likewise.
728 (Gcc_backend::statement_list): Likewise.
730 2011-04-14 Ian Lance Taylor <iant@google.com>
732 * go-gcc.cc (Gcc_backend::error_statement): New function.
734 2011-04-13 Ian Lance Taylor <iant@google.com>
736 * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
738 2011-04-13 Ian Lance Taylor <iant@google.com>
740 * Make-lang.in (GO_OBJS): Add go/runtime.o.
741 (GO_RUNTIME_H): New variable.
742 (go/runtime.o): New target.
743 (go/gogo.o): Depend on $(GO_RUNTIME_H).
744 (go/statements.o): Likewise.
746 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
748 * go-lang.c (union lang_tree_node): Check for TS_COMMON before
751 2011-04-06 Ian Lance Taylor <iant@google.com>
753 * go-gcc.cc (if_statement): Use build3_loc.
754 (Gcc_backend::switch_statement): New function.
755 (Gcc_backend::statement_list): New function.
757 2011-04-06 Ian Lance Taylor <iant@google.com>
759 * go-gcc.cc (Gcc_backend::if_statement): New function.
760 (tree_to_stat): New function.
761 (expr_to_tree): Renamed from expression_to_tree.
762 (stat_to_tree): Renamed from statement_to_tree.
764 2011-04-06 Ian Lance Taylor <iant@google.com>
766 * go-gcc.cc (Gcc_backend::expression_statement): New function.
768 2011-04-04 Ian Lance Taylor <iant@google.com>
770 * go-gcc.c (class Blabel): Define.
771 (Gcc_backend::make_expression): New function.
772 (get_identifier_from_string): New function.
773 (Gcc_backend::label): New function.
774 (Gcc_backend::label_definition_statement): New function.
775 (Gcc_backend::goto_statement): New function.
776 (Gcc_backend::label_address): New function.
777 (expression_to_tree): New function.
778 * Make-lang.in (go/expressions.o): Depend on
779 go/gofrontend/backend.h.
780 (go/gogo.o): Likewise.
782 2011-04-04 Ian Lance Taylor <iant@google.com>
784 * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
785 (class Bfunction): Define.
786 (Gcc_backend::assignment_statement): Rename from assignment.
788 (Gcc_backend::return_statement): New function.
789 (tree_to_function): New function.
790 * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
791 $(GIMPLE_H), and $(GO_GOGO_H).
793 2011-04-03 Ian Lance Taylor <iant@google.com>
795 * go-gcc.cc: New file.
796 * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
797 (go/go-gcc.o): New target.
798 (go/go.o): Depend on go/gofrontend/backend.h.
799 (go/statements.o): Likewise.
801 2011-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
803 * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
805 2011-02-08 Ian Lance Taylor <iant@google.com>
807 * go-lang.c (go_langhook_init_options_struct): Set
808 frontend_set_flag_errno_math. Don't set x_flag_trapping_math.
810 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
812 * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
813 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
815 2011-01-21 Ian Lance Taylor <iant@google.com>
817 * go-lang.c (go_langhook_init): Omit float_type_size when calling
819 * go-c.h: Update declaration of go_create_gogo.
821 2011-01-13 Ian Lance Taylor <iant@google.com>
823 * go-backend.c: Include "rtl.h" and "target.h".
824 (go_imported_unsafe): New function.
825 * go-c.h (go_imported_unsafe): Declare.
826 * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
827 (go/gogo-tree.o): Remove dependency on $(RTL_H).
828 (go/unsafe.o): Depend on $(GO_C_H).
830 2010-12-31 Joern Rennecke <amylaar@spamcop.net>
833 * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
836 2010-12-21 Ian Lance Taylor <iant@google.com>
838 * Make-lang.in (check-go): Remove.
839 (lang_checks_parallelized): Add check-go.
840 (check_go_parallelize): Set.
842 2010-12-13 Ian Lance Taylor <iant@google.com>
844 * gospec.c (lang_specific_driver): Add a -o option if not linking
845 and there is no -o option already.
847 2010-12-07 Ian Lance Taylor <iant@google.com>
849 PR tree-optimization/46805
850 PR tree-optimization/46833
851 * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
853 2010-12-06 Ian Lance Taylor <iant@google.com>
857 * go-lang.c (go_char_p): Define type and vectors.
858 (go_search_dirs): New static variable.
859 (go_langhook_handle_option): Use version and version/machine
861 (go_langhook_post_options): Add non-specific -L paths.
862 * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
863 DEFAULT_TARGET_MACHINE when compiling.
864 * gccgo.texi (Invoking gccgo): Only document -L for linking.
865 (Import and Export): Don't mention -L for finding import files.
867 2010-12-03 Ian Lance Taylor <iant@google.com>
870 * go-backend.c: New file.
871 * go-c.h (go_type_alignment): Declare.
872 (go_field_alignment, go_trampoline_info): Declare.
873 * Make-lang.in (GO_OBJS): Add go/go-backend.o.
874 (go/go-backend.o): New target.
875 (go/go-lang.o): Make dependencies match source file.
876 (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
877 (go/gogo-tree.o): Don't depend on $(TM_H).
879 2010-12-03 Ian Lance Taylor <iant@google.com>
881 * config-lang.in (build_by_default): Set to no.
883 2010-12-02 Ian Lance Taylor <iant@google.com>
885 Go frontend added to gcc repository.
887 Copyright (C) 2010-2014 Free Software Foundation, Inc.
889 Copying and distribution of this file, with or without modification,
890 are permitted in any medium without royalty provided the copyright
891 notice and this notice are preserved.