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