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