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