1 2014-04-30 Chris Manghane <cmang@google.com>
3 * go-backend.c: #include "diagnostics.h".
4 (saw_errors): New function.
5 * go-c.h (saw_errors): Declare.
6 * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
8 2014-04-30 Chris Manghane <cmang@google.com>
10 * go-lang.c (go_langhook_type_for_size): Do it here, rather than
11 calling into Go frontend.
12 (go_langhook_type_for_mode): Likewise.
13 * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
15 2014-04-30 Chris Manghane <cmang@google.com>
17 * go-gcc.cc: #include "langhooks.h".
18 (Gcc_backend::Gcc_backend): Add constructor.
19 (Gcc_backend::lookup_function): New function.
20 (Gcc_backend::define_builtin): New private function.
21 (Gcc_backend::gcc_backend): Remove.
22 (go_get_backend): Use new to create new Gcc_backend.
24 2014-04-25 Chris Manghane <cmang@google.com>
26 * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
27 (Gcc_backend::return_statement): Push and pop function.
28 (Gcc_backend::label): Likewise.
29 (Gcc_backend::function_defer_statement): Likewise.
30 (Gcc_backend::switch_statement): Add function parameter.
31 (Gcc_backend::block): Don't permit function to be NULL.
32 (Gcc_backend::temporary_variable): Change go_assert to
34 (Gcc_backend::gc_root_variable): New function.
35 (Gcc_backend::write_global_definitions): New function.
37 2014-04-22 Chris Manghane <cmang@google.com>
39 * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
40 call to create_tmp_var. Require that function be non-NULL.
42 2014-04-17 Chris Manghane <cmang@google.com>
44 * go-gcc.cc (Gcc_backend::named_constant_expression): New
47 2014-04-14 Chris Manghane <cmang@google.com>
49 * go-gcc.cc: Include "convert.h".
50 (Gcc_backend::string_constant_expression): New function.
51 (Gcc_backend::real_part_expression): Likewise.
52 (Gcc_backend::imag_part_expression): Likewise.
53 (Gcc_backend::complex_expression): Likewise.
54 (Gcc_backend::constructor_expression): Likewise.
55 (Gcc_backend::array_constructor_expression): Likewise.
56 (Gcc_backend::pointer_offset_expression): Likewise.
57 (Gcc_backend::array_index_expression): Likewise.
58 (Gcc_backend::call_expression): Likewise.
59 (Gcc_backend::exception_handler_statement): Likewise.
60 (Gcc_backend::function_defer_statement): Likewise.
61 (Gcc_backend::function_set_parameters): Likewise.
62 (Gcc_backend::function_set_body): Likewise.
63 (Gcc_backend::convert_expression): Handle various type
66 2014-03-03 Ian Lance Taylor <iant@google.com>
68 * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
70 (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
73 2014-01-24 Chris Manghane <cmang@google.com>
75 * go-gcc.cc (Gcc_backend::unary_expression): New function.
77 2014-01-16 Chris Manghane <cmang@google.com>
79 * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
81 (operator_to_tree_code): New static function.
82 (Gcc_backend::binary_expression): New function.
84 2014-01-14 Chris Manghane <cmang@google.com>
86 * go-gcc.cc (Gcc_backend::compound_expression): New function.
87 (Gcc_backend::conditional_expression): New function.
89 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
91 Update copyright years
93 2014-01-02 Tobias Burnus <burnus@net-b.de>
95 * gccgo.texi: Bump @copying's copyright year.
97 2013-12-16 Chris Manghane <cmang@google.com>
99 * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
101 2013-12-11 Ian Lance Taylor <iant@google.com>
103 * go-lang.c (go_langhook_post_options): Disable sibling calls by
106 2013-12-10 Ian Lance Taylor <iant@google.com>
108 * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
111 2013-12-05 Ian Lance Taylor <iant@google.com>
113 Revert this change; no longer required.
114 2013-11-06 Ian Lance Taylor <iant@google.com>
116 * go-lang.c (go_langhook_post_options): If
117 -fisolate-erroneous-paths was turned on by an optimization option,
120 2013-11-23 Ian Lance Taylor <iant@google.com>
122 * go-gcc.cc (Gcc_backend::function_type): Add result_struct
125 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
127 * go-gcc.cc: Add required include files from gimple.h.
128 * go-lang.c: Likewise
130 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
132 * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
133 tree_to_shwi throughout.
135 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
137 * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
138 tree_fits_shwi_p throughout.
140 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
142 * go-lang.c: Include only gimplify.h and gimple.h as needed.
144 2013-11-14 Diego Novillo <dnovillo@google.com>
146 * go-backend.c: Include stor-layout.h.
147 * go-gcc.cc: Include stringpool.h.
148 Include stor-layout.h.
150 * go-lang.c: Include stor-layout.h.
152 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
154 * go-lang.c: Include gimplify.h.
156 2013-11-06 Ian Lance Taylor <iant@google.com>
158 * go-lang.c (go_langhook_post_options): If
159 -fisolate-erroneous-paths was turned on by an optimization option,
162 2013-10-14 Chris Manghane <cmang@google.com>
164 * go-gcc.cc (Gcc_backend::address_expression): New function.
166 2013-10-11 Chris Manghane <cmang@google.com>
168 * go-gcc.cc (Gcc_backend::function_code_expression): New
171 2013-10-10 Chris Manghane <cmang@google.com>
173 * go-gcc.cc (Gcc_backend::error_function): New function.
174 (Gcc_backend::function): New function.
175 (Gcc_backend::make_function): New function.
176 (function_to_tree): New function.
178 2013-10-04 Chris Manghane <cmang@google.com>
180 * go-gcc.cc (Gcc_backend::convert_expression): New function.
182 2013-10-02 Chris Manghane <cmang@google.com>
184 * go-gcc.cc: Include "real.h" and "realmpfr.h".
185 (Gcc_backend::integer_constant_expression): New function.
186 (Gcc_backend::float_constant_expression): New function.
187 (Gcc_backend::complex_constant_expression): New function.
189 2013-09-30 Chris Manghane <cmang@google.com>
191 * go-gcc.cc (Gcc_backend::error_expression): New function.
192 (Gcc_backend::var_expression): New function.
193 (Gcc_backend::indirect_expression): New function.
195 2013-09-25 Tom Tromey <tromey@redhat.com>
197 * Make-lang.in (gospec.o): Remove.
198 (CFLAGS-go/gospec.o): New variable.
199 (GCCGO_OBJS): Update to use go/gospec.o.
201 (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
202 (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
203 (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
204 (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
205 (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
206 (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
207 (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
208 (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
209 (go/unsafe.o): Remove.
210 (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
211 (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
213 2013-09-25 Tom Tromey <tromey@redhat.com>
215 * Make-lang.in (gospec.o): Don't use subshell.
217 2013-08-28 Ian Lance Taylor <iant@google.com>
219 * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
220 the struct is not hidden.
221 (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
223 2013-08-06 Ian Lance Taylor <iant@google.com>
225 * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
226 compute_reloc_for_constant.
228 2013-08-02 Ian Lance Taylor <iant@google.com>
230 * go-gcc.cc (immutable_struct_set_init): Always call
231 resolve_unique_section.
233 2013-07-24 Ian Lance Taylor <iant@google.com>
235 * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
236 fields, recreate those fields with the first one with a non-zero
239 2013-07-23 Ian Lance Taylor <iant@google.com>
241 * go-backend.c: Don't #include "rtl.h".
242 (go_imported_unsafe): Don't call init_varasm_once.
243 * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
245 2013-07-23 Ian Lance Taylor <iant@google.com>
247 * go-lang.c: Don't #include "except.h".
248 * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
250 2013-06-18 Ian Lance Taylor <iant@google.com>
252 * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
254 (Gcc_backend::immutable_struct_set_init): Likewise.
256 2013-05-16 Jason Merrill <jason@redhat.com>
258 * Make-lang.in (go1$(exeext)): Use link mutex.
260 2013-01-16 Shenghou Ma <minux.ma@gmail.com>
262 * gospec.c: pass -u pthread_create to linker when static linking.
264 2012-12-21 Ian Lance Taylor <iant@google.com>
267 * go-system.h: Don't include <cstdio>.
269 2012-12-18 Ian Lance Taylor <iant@google.com>
272 * gospec.c: Revert last patch.
274 2012-12-18 Andreas Schwab <schwab@linux-m68k.org>
277 * gospec.c (LIBATOMIC): Define.
278 (LIBATOMIC_PROFILE): Define.
279 (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
281 2012-11-29 Ian Lance Taylor <iant@google.com>
283 * go-gcc.cc: Include "output.h".
284 (global_variable): Add is_unique_section parameter.
285 (global_variable_set_init): Adjust unique section if necessary.
286 * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
288 2012-11-17 Diego Novillo <dnovillo@google.com>
290 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
292 * go-lang.c: Use new vec API in vec.h.
294 2012-11-16 Ian Lance Taylor <iant@google.com>
296 * Make-lang.in (gccgo$(exeext)): Add + at start of command.
297 (go1$(exeext)): Likewise.
299 2012-10-30 Ian Lance Taylor <iant@google.com>
301 * lang.opt (-fgo-relative-import-path): New option.
302 * go-lang.c (go_relative_import_path): New static variable.
303 (go_langhook_init): Pass go_relative_import_path to
305 (go_langhook_handle_option): Handle -fgo-relative-import-path.
306 * go-c.h (go_create_gogo): Update declaration.
307 * gccgo.texi (Invoking gccgo): Document
308 -fgo-relative-import-path.
310 2012-09-17 Ian Lance Taylor <iant@google.com>
312 * config-lang.in (target_libs): Add target-libbacktrace.
314 2012-09-16 Ian Lance Taylor <iant@google.com>
316 * Make-lang.in (go/gogo.o): Depend on filenames.h.
318 2012-08-14 Diego Novillo <dnovillo@google.com>
320 Merge from cxx-conversion branch. Configury.
322 * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
323 * go-gcc.cc: Likewise.
324 * go-system.h: Likewise.
326 2012-07-24 Uros Bizjak <ubizjak@gmail.com>
328 * go-lang.c (lang_decl): Add variable_size GTY option.
330 2012-05-09 Ian Lance Taylor <iant@google.com>
332 * lang.opt: Add -fgo-pkgpath.
333 * go-lang.c (go_pkgpath): New static variable.
334 (go_prefix): New static variable.
335 (go_langhook_init): Pass go_pkgpath and go_prefix to
337 (go_langhook_handle_option): Handle -fgo-pkgpath. Change
338 -fgo-prefix handling to just set go_prefix.
339 * go-c.h (go_set_prefix): Don't declare.
340 (go_create_gogo): Add pkgpath and prefix to declaration.
341 * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
342 to pkgpath. Don't include the package name in the asm name.
343 * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the
344 docs for -fgo-prefix.
346 2012-04-23 Ian Lance Taylor <iant@google.com>
348 * go-lang.c (go_langhook_init): Set MPFR precision to 256.
350 2012-04-20 Ian Lance Taylor <iant@google.com>
352 * lang.opt: Add -fgo-check-divide-zero and
353 -fgo-check-divide-overflow.
354 * gccgo.texi (Invoking gccgo): Document new options.
356 2012-04-18 Steven Bosscher <steven@gcc.gnu.org>
358 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
359 with NULL_TREE type instead of void_type_node.
361 2012-03-09 Ian Lance Taylor <iant@google.com>
363 * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
364 to the lhs type if necessary.
366 2012-03-08 Ian Lance Taylor <iant@google.com>
368 * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
370 (go_non_zero_struct): New global variable.
371 (Gcc_backend::non_zero_size_type): New function.
372 (Gcc_backend::global_variable): Don't build an assignment for a
374 * go-c.h (go_non_zero_struct): Declare.
375 * config-lang.in (gtfiles): Add go-c.h.
377 2012-02-29 Ian Lance Taylor <iant@google.com>
379 * go-gcc.cc (class Gcc_tree): Add set_tree method.
380 (set_placeholder_pointer_type): When setting to a pointer to
381 error, set to error_mark_node.
383 2012-02-23 Richard Guenther <rguenther@suse.de>
385 * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
386 build_distinct_type_copy.
388 2012-02-17 Ian Lance Taylor <iant@google.com>
390 * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
392 2012-02-17 Ian Lance Taylor <iant@google.com>
394 * gospec.c (lang_specific_driver): If linking, and no -o option
397 2012-02-14 Ian Lance Taylor <iant@google.com>
400 * Make-lang.in (gccgo-cross$(exeext)): New target.
401 (go.all.cross): Depend on gccgo-cross$(exeext) instead of
403 (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
404 gccgo-cross$(exeext) does not exist.
406 2012-02-07 Ian Lance Taylor <iant@google.com>
408 * gccgo.texi (Function Names): Document //extern instead of
411 2012-02-01 Jakub Jelinek <jakub@redhat.com>
414 * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
415 return build_nonstandard_integer_type result if possible.
417 2012-01-21 Ian Lance Taylor <iant@google.com>
419 * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
420 (Gcc_backend::type_alignment): Likewise.
421 (Gcc_backend::type_field_alignment): Likewise.
422 (Gcc_backend::type_field_offset): Likewise.
424 2012-01-20 Ian Lance Taylor <iant@google.com>
426 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
428 (Gcc_backend::set_placeholder_struct_type): Likewise.
430 2012-01-17 Ian Lance Taylor <iant@google.com>
432 * gospec.c (lang_specific_driver): If we see -S without -o, add -o
433 BASE.s rather than -o BASE.o.
435 2012-01-11 Ian Lance Taylor <iant@google.com>
437 * go-lang.c (go_langhook_init): Initialize void_list_node before
438 calling go_create_gogo.
440 2012-01-10 Ian Lance Taylor <iant@google.com>
442 * go-gcc.cc (Gcc_backend::type_size): New function.
443 (Gcc_backend::type_alignment): New function.
444 (Gcc_backend::type_field_alignment): New function.
445 (Gcc_backend::type_field_offset): New function.
446 * go-backend.c (go_type_alignment): Remove.
447 * go-c.h (go_type_alignment): Don't declare.
449 2011-12-27 Ian Lance Taylor <iant@google.com>
451 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
452 build_distinct_type_copy rather than build_variant_type_copy.
453 (Gcc_backend::set_placeholder_array_type): Likewise.
454 (Gcc_backend::named_type): Add special handling for builtin
457 2011-12-22 Ian Lance Taylor <iant@google.com>
459 * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
460 for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
461 (Gcc_backend::set_placeholder_struct_type): Likewise.
462 (Gcc_backend::set_placeholder_array_type): Likewise.
463 (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
465 2011-12-13 Ian Lance Taylor <iant@google.com>
467 * go-backend.c: #include "simple-object.h" and "intl.h".
468 (GO_EXPORT_SEGMENT_NAME): Define if not defined.
469 (GO_EXPORT_SECTION_NAME): Likewise.
470 (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
471 (go_read_export_data): New function.
472 * go-c.h (go_read_export_data): Declare.
474 2011-11-29 Sanjoy Das <thedigitalangel@gmail.com>
475 Ian Lance Taylor <iant@google.com>
477 * go-location.h: New file.
478 * go-linemap.cc: New file.
479 * go-gcc.cc: Change all uses of source_location to Location.
480 * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
481 (GO_LINEMAP_H): New variable.
482 (GO_LEX_H): Use $(GO_LINEMAP_H).
483 (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
484 (go/go-linemap.o): New target.
486 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
488 * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
490 2011-08-24 Roberto Lublinerman <rluble@gmail.com>
492 * lang.opt: Add fgo-optimize-.
493 * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
494 * go-c.h (go_enable_optimize): Declare.
495 * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
496 (GO_EXPORT_H): Define.
497 (GO_IMPORT_H): Add $(GO_EXPORT_H).
498 (GO_AST_DUMP_H): Define.
499 (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
500 (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
501 (go/types.o): Likewise.
502 (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
503 (go/go-optimize.o): New target.
505 2011-08-24 Joseph Myers <joseph@codesourcery.com>
507 * Make-lang.in (CFLAGS-go/go-lang.o): New.
508 (go/go-lang.o): Remove explicit compilation rule.
510 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
512 * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
514 2011-08-02 Roberto Lublinerman <rluble@gmail.com>
516 * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
517 (go/ast-dump.o): New target.
518 (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
519 (go/statements.o): Likewise.
521 2011-07-06 Richard Guenther <rguenther@suse.de>
523 * go-lang.c (go_langhook_init):
524 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
526 2011-06-14 Joseph Myers <joseph@codesourcery.com>
528 * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
530 * go-backend.c: Include common/common-target.h.
531 (go_write_export_data): Use targetm_common.have_named_sections.
532 * go-lang.c: Include common/common-target.h.
533 (go_langhook_init_options_struct): Use
534 targetm_common.supports_split_stack.
536 2011-06-13 Ian Lance Taylor <iant@google.com>
538 * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
540 2011-06-10 Ian Lance Taylor <iant@google.com>
542 * go-gcc.cc: Include "toplev.h".
543 (Gcc_backend::immutable_struct): New function.
544 (Gcc_backend::immutable_struct_set_init): New function.
545 (Gcc_backend::immutable_struct_reference): New function.
546 * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
548 2011-06-09 Ian Lance Taylor <iant@google.com>
550 * go-gcc.cc (Gcc_backend::zero_expression): New function.
552 2011-06-07 Richard Guenther <rguenther@suse.de>
554 * go-lang.c (go_langhook_init): Do not set
555 size_type_node or call set_sizetype.
557 2011-05-27 Ian Lance Taylor <iant@google.com>
559 * go-backend.c: Include "output.h".
560 (go_write_export_data): New function.
561 * go-c.h (go_write_export_data): Declare.
562 * Make-lang.in (go/go-backend.o): Depend on output.h.
563 (go/export.o): Depend on $(GO_C_H). Do not depend on
564 $(MACHMODE_H), output.h, or $(TARGET_H).
566 2011-05-24 Joseph Myers <joseph@codesourcery.com>
568 * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
569 (gccgo$(exeext)): Use libcommon-target.a.
571 2011-05-20 Joseph Myers <joseph@codesourcery.com>
573 * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
575 2011-05-13 Ian Lance Taylor <iant@google.com>
577 * go-gcc.cc (Gcc_backend::function_type): When building a struct
578 for multiple results, check that all fields types have a size.
579 (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
581 2011-05-12 Ian Lance Taylor <iant@google.com>
583 * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
585 (Gcc_backend::parameter_variable): Likewise.
587 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
589 * go-lang.c (global_bindings_p): Return bool and simplify.
591 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
593 * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
595 2011-05-04 Ian Lance Taylor <iant@google.com>
597 * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
598 (Gcc_backend::fill_in_struct): New function.
599 (Gcc_backend::array_type): Implement.
600 (Gcc_backend::fill_in_array): New function.
601 (Gcc_backend::placeholder_pointer_type): New function.
602 (Gcc_backend::set_placeholder_pointer_type): New function.
603 (Gcc_backend::set_placeholder_function_type): New function.
604 (Gcc_backend::placeholder_struct_type): New function.
605 (Gcc_backend::set_placeholder_struct_type): New function.
606 (Gcc_backend::placeholder_array_type): New function.
607 (Gcc_backend::set_placeholder_array_type): New function.
608 (Gcc_backend::named_type): New function.
609 (Gcc_backend::circular_pointer_type): New function.
610 (Gcc_backend::is_circular_pointer_type): New function.
612 2011-04-26 Ian Lance Taylor <iant@google.com>
614 * go-gcc.cc (Gcc_backend::struct_type): Implement.
616 2011-04-25 Ian Lance Taylor <iant@google.com>
618 * go-gcc.cc (Gcc_backend::error_type): Implement.
619 (Gcc_backend::string_type): Remove.
620 (Gcc_backend::function_type): Change signature and implement.
621 (Gcc_backend::struct_type): Change signature.
622 (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
623 (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
624 (Gcc_backend::pointer_type): Check for error.
625 * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
627 2011-04-25 Evan Shaw <edsrzf@gmail.com>
629 * go-gcc.c (class Gcc_tree): Make get_tree const.
630 (Gcc_backend::void_type): Implement.
631 (Gcc_backend::bool_type): Implement.
632 (Gcc_backend::integer_type): Implement.
633 (Gcc_backend::float_type): Implement.
634 (Gcc_backend::complex_type): New function.
635 (Gcc_backend::pointer_type): New function.
636 (Gcc_backend::make_type): New function.
637 (type_to_tree): New function.
639 2011-04-21 Ian Lance Taylor <iant@google.com>
641 * go-system.h (go_assert, go_unreachable): Define.
643 2011-04-19 Ian Lance Taylor <iant@google.com>
645 * go-system.h: Include "intl.h".
646 * Make-lang.in (GO_SYSTEM_H): Add intl.h.
647 (go/statements.o): Remove dependencies on intl.h $(TREE_H)
648 $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
650 2011-04-19 Ian Lance Taylor <iant@google.com>
652 * go-gcc.cc (Gcc_backend::temporary_variable): New function.
654 2011-04-19 Ian Lance Taylor <iant@google.com>
656 * go-gcc.cc (class Bblock): Define.
657 (Gcc_backend::if_statement): Change then_block and else_block to
659 (Gcc_backend::block): New function.
660 (Gcc_backend::block_add_statements): New function.
661 (Gcc_backend::block_statement): New function.
662 (tree_to_block, block_to_tree): New functions.
664 2011-04-18 Ian Lance Taylor <iant@google.com>
666 * go-gcc.cc: Include "go-c.h".
667 (class Bvariable): Define.
668 (Gcc_backend::init_statement): New function.
669 (Gcc_backend::global_variable): New function.
670 (Gcc_backend::global_variable_set_init): New function.
671 (Gcc_backend::local_variable): New function.
672 (Gcc_backend::parameter_variable): New function.
673 (tree_to_type, var_to_tree): New functions.
674 * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
675 * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
677 2011-04-15 Ian Lance Taylor <iant@google.com>
679 * go-gcc.cc (Gcc_backend::compound_statement): New function.
680 (Gcc_backend::assignment_statement): Use error_statement.
681 (Gcc_backend::return_statement): Likewise.
682 (Gcc_backend::if_statement): Likewise.
683 (Gcc_backend::switch_statement): Likewise.
684 (Gcc_backend::statement_list): Likewise.
686 2011-04-14 Ian Lance Taylor <iant@google.com>
688 * go-gcc.cc (Gcc_backend::error_statement): New function.
690 2011-04-13 Ian Lance Taylor <iant@google.com>
692 * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
694 2011-04-13 Ian Lance Taylor <iant@google.com>
696 * Make-lang.in (GO_OBJS): Add go/runtime.o.
697 (GO_RUNTIME_H): New variable.
698 (go/runtime.o): New target.
699 (go/gogo.o): Depend on $(GO_RUNTIME_H).
700 (go/statements.o): Likewise.
702 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
704 * go-lang.c (union lang_tree_node): Check for TS_COMMON before
707 2011-04-06 Ian Lance Taylor <iant@google.com>
709 * go-gcc.cc (if_statement): Use build3_loc.
710 (Gcc_backend::switch_statement): New function.
711 (Gcc_backend::statement_list): New function.
713 2011-04-06 Ian Lance Taylor <iant@google.com>
715 * go-gcc.cc (Gcc_backend::if_statement): New function.
716 (tree_to_stat): New function.
717 (expr_to_tree): Renamed from expression_to_tree.
718 (stat_to_tree): Renamed from statement_to_tree.
720 2011-04-06 Ian Lance Taylor <iant@google.com>
722 * go-gcc.cc (Gcc_backend::expression_statement): New function.
724 2011-04-04 Ian Lance Taylor <iant@google.com>
726 * go-gcc.c (class Blabel): Define.
727 (Gcc_backend::make_expression): New function.
728 (get_identifier_from_string): New function.
729 (Gcc_backend::label): New function.
730 (Gcc_backend::label_definition_statement): New function.
731 (Gcc_backend::goto_statement): New function.
732 (Gcc_backend::label_address): New function.
733 (expression_to_tree): New function.
734 * Make-lang.in (go/expressions.o): Depend on
735 go/gofrontend/backend.h.
736 (go/gogo.o): Likewise.
738 2011-04-04 Ian Lance Taylor <iant@google.com>
740 * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
741 (class Bfunction): Define.
742 (Gcc_backend::assignment_statement): Rename from assignment.
744 (Gcc_backend::return_statement): New function.
745 (tree_to_function): New function.
746 * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
747 $(GIMPLE_H), and $(GO_GOGO_H).
749 2011-04-03 Ian Lance Taylor <iant@google.com>
751 * go-gcc.cc: New file.
752 * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
753 (go/go-gcc.o): New target.
754 (go/go.o): Depend on go/gofrontend/backend.h.
755 (go/statements.o): Likewise.
757 2011-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
759 * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
761 2011-02-08 Ian Lance Taylor <iant@google.com>
763 * go-lang.c (go_langhook_init_options_struct): Set
764 frontend_set_flag_errno_math. Don't set x_flag_trapping_math.
766 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
768 * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
769 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
771 2011-01-21 Ian Lance Taylor <iant@google.com>
773 * go-lang.c (go_langhook_init): Omit float_type_size when calling
775 * go-c.h: Update declaration of go_create_gogo.
777 2011-01-13 Ian Lance Taylor <iant@google.com>
779 * go-backend.c: Include "rtl.h" and "target.h".
780 (go_imported_unsafe): New function.
781 * go-c.h (go_imported_unsafe): Declare.
782 * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
783 (go/gogo-tree.o): Remove dependency on $(RTL_H).
784 (go/unsafe.o): Depend on $(GO_C_H).
786 2010-12-31 Joern Rennecke <amylaar@spamcop.net>
789 * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
792 2010-12-21 Ian Lance Taylor <iant@google.com>
794 * Make-lang.in (check-go): Remove.
795 (lang_checks_parallelized): Add check-go.
796 (check_go_parallelize): Set.
798 2010-12-13 Ian Lance Taylor <iant@google.com>
800 * gospec.c (lang_specific_driver): Add a -o option if not linking
801 and there is no -o option already.
803 2010-12-07 Ian Lance Taylor <iant@google.com>
805 PR tree-optimization/46805
806 PR tree-optimization/46833
807 * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
809 2010-12-06 Ian Lance Taylor <iant@google.com>
813 * go-lang.c (go_char_p): Define type and vectors.
814 (go_search_dirs): New static variable.
815 (go_langhook_handle_option): Use version and version/machine
817 (go_langhook_post_options): Add non-specific -L paths.
818 * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
819 DEFAULT_TARGET_MACHINE when compiling.
820 * gccgo.texi (Invoking gccgo): Only document -L for linking.
821 (Import and Export): Don't mention -L for finding import files.
823 2010-12-03 Ian Lance Taylor <iant@google.com>
826 * go-backend.c: New file.
827 * go-c.h (go_type_alignment): Declare.
828 (go_field_alignment, go_trampoline_info): Declare.
829 * Make-lang.in (GO_OBJS): Add go/go-backend.o.
830 (go/go-backend.o): New target.
831 (go/go-lang.o): Make dependencies match source file.
832 (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
833 (go/gogo-tree.o): Don't depend on $(TM_H).
835 2010-12-03 Ian Lance Taylor <iant@google.com>
837 * config-lang.in (build_by_default): Set to no.
839 2010-12-02 Ian Lance Taylor <iant@google.com>
841 Go frontend added to gcc repository.
843 Copyright (C) 2010-2014 Free Software Foundation, Inc.
845 Copying and distribution of this file, with or without modification,
846 are permitted in any medium without royalty provided the copyright
847 notice and this notice are preserved.