2c88593b05b5915840125832aa8892c7d4c08c0b
[gcc.git] / gcc / go / ChangeLog
1 2019-03-06 Ian Lance Taylor <iant@golang.org>
2
3 PR go/89227
4 * go-gcc.cc (Gcc_backend::function): Set TREE_PUBLIC for an
5 only-inline function.
6
7 2019-02-15 Cherry Zhang <cherryyz@google.com>
8
9 * go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_dwarf_cfa
10 instead of __builtin_frame_address.
11
12 2019-02-14 Ian Lance Taylor <iant@golang.org>
13
14 * go-backend.c (go_imported_unsafe): Update
15 optimization_default_node.
16
17 2019-02-13 Ian Lance Taylor <iant@golang.org>
18
19 * go-gcc.cc: #include "opts.h".
20 (Gcc_backend::function): Compile thunks with -Os.
21
22 2019-02-05 Nikhil Benesch <nikhil.benesch@gmail.com>
23
24 PR go/89019
25 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Mark
26 placeholder structs as requiring structural equality.
27 (Gcc_backend::set_placeholder_pointer_type): Propagate the
28 canonical type from the desired pointer type to the placeholder
29 pointer type.
30
31 2019-01-09 Ian Lance Taylor <iant@golang.org>
32
33 PR go/86343
34 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Go back to
35 build_distinct_type_copy, but copy the fields so that they have
36 the right DECL_CONTEXT.
37
38 2019-01-09 Sandra Loosemore <sandra@codesourcery.com>
39
40 PR other/16615
41
42 * go-backend.c: Mechanically replace "can not" with "cannot".
43 * go-gcc.cc: Likewise.
44
45 2019-01-01 Jakub Jelinek <jakub@redhat.com>
46
47 Update copyright years.
48
49 * gccgo.texi: Bump @copyrights-go year.
50
51 2018-11-27 Ian Lance Taylor <iant@golang.org>
52
53 * go-gcc.cc (Gcc_backend::function): Handle function_only_inline
54 flag.
55
56 2018-11-13 David Malcolm <dmalcolm@redhat.com>
57
58 * go-gcc-diagnostics.cc: Replace "source_location" with "location_t".
59 * go-gcc.cc: Likewise.
60 * go-linemap.cc: Likewise.
61 * go-location.h: Likewise.
62 * gofrontend/README: Likewise.
63
64 2018-10-31 Ian Lance Taylor <iant@golang.org>
65
66 * go-gcc.cc (Gcc_backend::write_global_definitions): Don't call
67 gimplify_function_tree. Instead call allocate_struct_function if
68 necessary.
69
70 2018-10-29 Ian Lance Taylor <iant@golang.org>
71
72 * go-gcc.cc (Gcc_backend::function): Change to use a single flags
73 parameter.
74
75 2018-10-29 Ian Lance Taylor <iant@golang.org>
76
77 * go-linemap.cc (Gcc_linemap::location_file): New method.
78
79 2018-10-17 David Malcolm <dmalcolm@redhat.com>
80
81 * Make-lang.in (selftest-go): New.
82
83 2018-09-20 Allan Sandfeld Jensen <allan.jensen@qt.io>
84
85 * gospec.c (lang_specific_driver): Handle -r like -nostdlib.
86
87 2018-08-27 Martin Liska <mliska@suse.cz>
88
89 * go-gcc.cc (Gcc_backend::call_expression): Use new function
90 fndecl_built_in_p and remove check for FUNCTION_DECL if
91 possible.
92
93 2018-07-20 Martin Sebor <msebor@redhat.com>
94
95 PR middle-end/82063
96 * go-lang.c (go_langhook_handle_option): Change function argument
97 to HOST_WIDE_INT.
98
99 2018-06-28 Ian Lance Taylor <iant@golang.org>
100
101 PR go/86343
102 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Call
103 build_variant_type_copy rather than build_distinct_type_copy.
104
105 2018-06-08 Cherry Zhang <cherryyz@google.com>
106
107 * go-gcc.cc (class Gcc_backend): Remove
108 stack_allocation_expression method.
109
110 2018-02-03 Ian Lance Taylor <iant@golang.org>
111
112 * go-gcc.cc (Gcc_backend::fill_in_struct): Mark struct types as
113 using structural equality.
114
115 2018-02-02 Ian Lance Taylor <iant@golang.org>
116
117 * go-gcc.cc (Gcc_backend::type_size): Return 0 for
118 void_type_node.
119 (Gcc_backend::convert_expression): Don't convert if the type of
120 expr_tree is void_type_node.
121 (Gcc_backend::array_index_expression): Don't index if the type of
122 the array expression is void_type_node.
123 (Gcc_backend::init_statement): Don't initialize if the type of the
124 initializer expression is void_type_node.
125 (Gcc_backend::assignment_statement): Don't assign if the type of
126 either the left or right hand side is void_type_node.
127 (Gcc_backend::temporary_variable): Don't initialize if the type of
128 the initializer expression is void_type_node.
129
130 2018-02-01 Cherry Zhang <cherryyz@google.com>
131
132 * lang.opt (fgo-optimize): Remove RejectNegative.
133 * go-c.h (go_enable_optimize): Update declaration to take value
134 argument.
135 * go-lang.c (go_langhook_handle_option): Pass value to
136 go_enable_optimize.
137 * gccgo.texi (Invoking gccgo): Update -fgo-optimize-allocs doc.
138
139 2018-01-30 Ian Lance Taylor <iant@golang.org>
140
141 * go-gcc.cc (Gcc_backend::convert_tree): New private method.
142 (Gcc_backend::constructor_expression): Call it.
143 (Gcc_backend::assignment_statement): Likewise.
144 (Gcc_backend::temporary_variable): Likewise.
145
146 2018-01-09 Cherry Zhang <cherryyz@google.com>
147
148 * go-gcc.cc (local_variable): Add decl_var parameter.
149
150 2018-01-09 Cherry Zhang <cherryyz@google.com>
151
152 * lang.opt (fgo-debug-escape-hash): New option.
153 * go-c.h (struct go_create_gogo_args): Add debug_escape_hash
154 field.
155 * go-lang.c (go_langhook_init): Set debug_escape_hash field.
156 * gccgo.texi (Invoking gccgo): Document -fgo-debug-escape-hash.
157
158 2018-01-05 Ian Lance Taylor <iant@golang.org>
159
160 * go-gcc.cc (Gcc_backend::Gcc_backend): Correct
161 math_function_type_long to take one argument.
162
163 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
164 Alan Hayward <alan.hayward@arm.com>
165 David Sherwood <david.sherwood@arm.com>
166
167 * go-lang.c (go_langhook_type_for_mode): Handle MODE_VECTOR_BOOL.
168
169 2018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
170 Alan Hayward <alan.hayward@arm.com>
171 David Sherwood <david.sherwood@arm.com>
172
173 * go-lang.c (go_langhook_type_for_mode): Check valid_vector_subparts_p.
174
175 2018-01-03 Jakub Jelinek <jakub@redhat.com>
176
177 Update copyright years.
178
179 * gccgo.texi: Bump @copyrights-go year.
180
181 2017-12-12 Tony Reix <tony.reix@atos.net>
182 Ian Lance Taylor <iant@golang.org>
183
184 * go-lang.c (TARGET_AIX): Define if not defined.
185 (go_langhook_init): Set nil_check_size_threshold to -1 on AIX.
186
187 2017-12-01 Ian Lance Taylor <iant@golang.org>
188
189 * go-gcc.cc (Gcc_backend::Gcc_backend): Define
190 __builtin_unreachable.
191 (Gcc_backend::function): Add does_not_return parameter.
192
193 2017-12-01 Than McIntosh <thanm@google.com>
194
195 * go-c.h (go_create_gogo_args): Add nil_check_size_threshold
196 field.
197 * go-lang.c (go_langhook_init): Set nil_check_size_threshold.
198
199 2017-11-28 Jakub Jelinek <jakub@redhat.com>
200
201 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using
202 build2_loc instead of build3_loc.
203
204 2017-11-14 Than McIntosh <thanm@google.com>
205
206 * go-gcc.cc (var_expression): Remove Varexpr_context parameter.
207
208 2017-10-11 Tony Reix <tony.reix@atos.net>
209
210 * go-system.h (__STDC_FORMAT_MACROS): Define before including any
211 system header files, as is done in ../system.h.
212
213 2017-10-05 Ian Lance Taylor <iant@golang.org>
214
215 * Make-lang.in (GO_OBJS): Add go/names.o.
216
217 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
218 Alan Hayward <alan.hayward@arm.com>
219 David Sherwood <david.sherwood@arm.com>
220
221 * go-lang.c (go_langhook_type_for_mode): Use is_complex_float_mode.
222
223 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
224 Alan Hayward <alan.hayward@arm.com>
225 David Sherwood <david.sherwood@arm.com>
226
227 * go-lang.c (go_langhook_type_for_mode): Use is_int_mode.
228
229 2017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
230 Alan Hayward <alan.hayward@arm.com>
231 David Sherwood <david.sherwood@arm.com>
232
233 * go-lang.c (go_langhook_type_for_mode): Use is_float_mode.
234
235 2017-08-07 Martin Liska <mliska@suse.cz>
236
237 * go-gcc.cc (Gcc_backend::function): Look up for no_split_stack
238 and not __no_split_stack__.
239
240 2017-07-27 Tony Reix <tony.reix@atos.net>
241
242 * go-backend.c (go_write_export_data): Use EXCLUDE section for
243 AIX.
244
245 2017-06-09 Ian Lance Taylor <iant@golang.org>
246
247 * go-lang.c (go_langhook_post_options): If -fsplit-stack is turned
248 on, disable implicit -forder-blocks-and-partition.
249
250 2017-05-12 Than McIntosh <thanm@google.com>
251
252 * go-gcc.cc (Gcc_backend::call_expression): Add caller parameter.
253
254 2017-05-11 Ian Lance Taylor <iant@google.com>
255
256 PR go/64238
257 * go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
258 DECL_EXTERNAL, clear TREE_STATIC.
259
260 2017-05-10 Than McIntosh <thanm@google.com>
261
262 * go-backend.c: Include "go-c.h".
263 * go-gcc.cc (Gcc_backend::write_export_data): New method.
264
265 2017-05-10 Ian Lance Taylor <iant@google.com>
266
267 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
268 __builtin_prefetch.
269 * Make-lang.in (GO_OBJS): Add go/wb.o.
270
271 2017-03-28 Than McIntosh <thanm@google.com>
272
273 PR go/80226
274 * go-gcc.cc (Gcc_backend::return_statement): Check for
275 void_type_node when checking result size.
276
277 2017-02-20 Ian Lance Taylor <iant@golang.org>
278
279 PR go/79642
280 * lang.opt (-fgo-relative-import-path): Change space to tab.
281
282 2017-02-07 Richard Biener <rguenther@suse.de>
283
284 PR tree-optimization/79256
285 PR middle-end/79278
286 * go-backend.c (go_field_alignment): Adjust.
287
288 2017-01-11 Than McIntosh <thanm@google.com>
289
290 * go-gcc.cc (conditional_expression): Add Bfunction parameter.
291
292 2017-01-01 Jakub Jelinek <jakub@redhat.com>
293
294 Update copyright years.
295
296 * gccgo.texi: Bump @copyrights-go year.
297
298 2016-12-16 Than McIntosh <thanm@google.com>
299
300 * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
301 parameter.
302 (Gcc_backend::init_statement): Likewise.
303 (Gcc_backend::assignment_statement): Likewise.
304 (Gcc_backend::if_statement): Likewise.
305
306 2016-12-06 Than McIntosh <thanm@google.com>
307
308 * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
309 parameter.
310
311 2016-11-22 Than McIntosh <thanm@google.com>
312
313 * go-gcc.cc (char_needs_encoding): Remove.
314 (needs_encoding, fetch_utf8_char, encode_id): Remove.
315 (Gcc_backend::global_variable): Add asm_name parameter. Don't
316 compute asm_name here.
317 (Gcc_backend::implicit_variable): Likewise.
318 (Gcc_backend::implicit_variable_reference): Likewise.
319 (Gcc_backend::immutable_struct): Likewise.
320 (Gcc_backend::immutable_struct_reference): Likewise.
321 * Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
322
323 2016-11-22 Ian Lance Taylor <iant@google.com>
324
325 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
326 __builtin_frame_address.
327
328 2016-10-25 David Malcolm <dmalcolm@redhat.com>
329
330 * go-lang.c (go_langhook_type_for_mode): Remove redundant cast
331 from result of GET_MODE_CLASS. Minor formatting fixes.
332
333 2016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
334
335 * go-backend.c: Include memmodel.h.
336
337 2016-10-10 Than McIntosh <thanm@google.com>
338
339 * go-gcc.h: New file.
340 * go-c.h (struct go_create_gogo_args): Add backend and linemap
341 fields.
342 * go-lang.c: Include "go-gcc.h".
343 (go_langhook_init): Set linemap and backend fields of args.
344 * go-gcc.cc: Include "go-gcc.h".
345 * go-linemap.cc: Include "go-gcc.h".
346
347 2016-10-10 Than McIntosh <thanm@google.com>
348
349 * go-linemap.cc (Gcc_linemap::location_line): New method.
350
351 2016-10-10 Eric Botcazou <ebotcazou@adacore.com>
352
353 * config-lang.in (lang_requires_boot_languages): Delete.
354
355 2016-10-06 Chris Manghane <cmang@google.com>
356
357 * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
358 returned memory.
359
360 2016-09-27 Than McIntosh <thanm@google.com>
361
362 * go-linemap.cc (Gcc_linemap::to_string): New method.
363
364 2016-09-23 Than McIntosh <thanm@google.com>
365
366 * go-gcc-diagnostics.cc: New file.
367 * go-location.h (Location): Remove operator source_location. Add
368 operator==.
369 * go-system.h: #include <sstream>.
370 * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
371 go/go-gcc-diagnostics.o.
372 (CFLAGS-go/go-gcc-diagnostics.o): New variable.
373
374 2016-09-23 Chris Manghane <cmang@google.com>
375
376 PR go/77701
377 * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
378 to pass arguments in the correct order.
379
380 2016-09-22 Ian Lance Taylor <iant@golang.org>
381
382 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
383 __builtin_frame_address.
384
385 2016-09-11 Ian Lance Taylor <iant@golang.org>
386
387 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
388 ctz, ctzll, bswap32, bswap64.
389
390 2016-09-10 Ian Lance Taylor <iant@golang.org>
391
392 * go-backend.c (go_trampoline_info): Remove.
393 * go-c.h (go_trampoline_info): Don't declare.
394
395 2016-09-09 Than McIntosh <thanm@google.com>
396
397 * go-sha1.cc: New file.
398 * Make-lang.in (GO_OBJS): Add go/go-sha1.o.
399 (CFLAGS-go/go-sha1.o): New variable.
400
401 2016-08-29 Ian Lance Taylor <iant@google.com>
402
403 * lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
404 * go-c.h (struct go_create_gogo_args): Define.
405 (go_create_gogo): Change declaration to take struct pointer.
406 * go-lang.c (go_c_header): New static variable.
407 (go_langhook_init): Update call to go_create_gogo.
408 * gccgo.texi (Invoking gccgo): Document -fgo-c-header and
409 -fgo-compiling-runtime.
410
411 2016-08-09 Ian Lance Taylor <iant@google.com>
412
413 * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
414 -fgo-debug-escae.
415 (Compiler Directives): New chapter.
416 (Function Names): Describe using //go:linkname. Suggest using
417 -fgo-pkgpath rather than -fgo-prefix.
418
419 2016-08-08 Ian Lance Taylor <iant@google.com>
420
421 PR go/72814
422 * go-gcc.cc (Gcc_backend::function_type): If the return type is
423 zero bytes, treat the function as returning void.
424 (return_statement): If the return type is zero bytes, don't
425 actually return any values.
426
427 2016-08-05 Ian Lance Taylor <iant@google.com>
428
429 PR go/72812
430 * go-gcc.cc (char_needs_encoding): New static function.
431 (needs_encoding, fetch_utf8_char): New static functions.
432 (encode_id): New static function.
433 (Gcc_backend::global_variable): Set asm name if the name is not
434 simple ASCII.
435 (Gcc_backend::implicit_variable): Likewise.
436 (Gcc_backend::implicit_variable_reference): Likewise.
437 (Gcc_backend::immutable_struct): Likewise.
438 (Gcc_backend::immutable_struct_reference): Likewise.
439 (Gcc_backend::function): Likewise.
440
441 2016-08-02 Chris Manghane <cmang@google.com>
442
443 * lang.opt: Add -fgo-debug-escape option.
444 * go-c.h (go_create_gogo): Add debug_escape_level parameter.
445 * go-lang.c (go_langhook_init): Pass go_debug_escape_level to
446 go_create_gogo.
447
448 2016-05-06 Chris Manghane <cmang@google.com>
449
450 * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
451 new escape.cc).
452
453 2016-04-29 Chris Manghane <cmang@google.com>
454
455 * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
456
457 2016-04-18 Michael Matz <matz@suse.de>
458
459 * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
460
461 2016-02-12 Jakub Jelinek <jakub@redhat.com>
462
463 * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
464 neighbour -> neighbor.
465 * gccgo.texi: Likewise.
466
467 2016-01-27 Ian Lance Taylor <iant@google.com>
468
469 * go-lang.c (go_langhook_init_options_struct): Default to
470 -fkeep-gc-roots-live.
471
472 2016-01-04 Jakub Jelinek <jakub@redhat.com>
473
474 Update copyright years.
475
476 * gccgo.texi: Bump @copyrights-go year.
477
478 2015-12-21 Ian Lance Taylor <iant@google.com>
479
480 * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class. Add
481 t_ and orig_type_ fields. Add new two parameter constructor. Add
482 get_tree and get_decl methods.
483 (Gcc_backend::var_expression): Pass location to var get_tree.
484 (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR. Use
485 two parameter constructor for Bvariable.
486 (Gcc_backend::global_variable_set_init): Don't remove
487 VIEW_CONVERT_EXPR. Use var get_decl, not get_tree.
488 (Gcc_backend::write_global_definitions): Likewise.
489 (Gcc_backend::init_statement): Call var get_decl, not get_tree.
490 (Gcc_backend::block): Likewise.
491 (Gcc_backend::implicit_variable_set_init): Likewise.
492 (Gcc_backend::immutable_struct_set_init): Likewise.
493 (Gcc_backend::function_set_parameters): Likewise.
494
495 2015-12-21 Ian Lance Taylor <iant@google.com>
496
497 * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
498 add a VIEW_CONVERT_EXPR to the tree.
499 (Gcc_backend::global_variable_set_init): Remove any
500 VIEW_CONVERT_EXPR.
501 (Gcc_backend::write_global_definitions): Likewise.
502
503 2015-11-30 Ian Lance Taylor <iant@google.com>
504
505 PR go/68477
506 * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
507 TYPE_STRING_FLAG on a variant type.
508
509 2015-11-11 Andrew MacLeod <amacleod@redhat.com>
510
511 * go-backend.c: Remove unused header files.
512 * go-gcc.cc: Likewise.
513 * go-lang.c: Likewise.
514 * gospec.c: Likewise.
515
516 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
517
518 * go-backend.c: Reorder #include's and remove duplicates.
519 * go-lang.c: Likewise.
520
521 2015-10-20 Alan Modra <amodra@gmail.com>
522
523 PR go/66870
524 * gospec.c (saw_opt_m32): Rename to..
525 (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
526 Update uses.
527 (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
528
529 2015-10-01 Ian Lance Taylor <iant@google.com>
530
531 PR go/66870
532 * gospec.c (lang_specific_driver): Only look for OPT_m32 if
533 TARGET_CAN_SPLIT_STACK_64BIT is defined.
534
535 2015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com>
536
537 PR target/66870
538 * gospec.c (lang_specific_driver): Set appropriate split stack
539 options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
540
541 2015-09-10 Chris Manghane <cmang@google.com>
542
543 * go-gcc.cc (Gcc_backend::type_size): Return -1 for
544 unrepresentable size.
545
546 2015-08-24 Marek Polacek <polacek@redhat.com>
547
548 PR tree-optimization/67284
549 * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
550 Set TREE_THIS_VOLATILE.
551 (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
552 Pass false to the rest of define_builtin calls.
553
554 2015-07-31 Andreas Schwab <schwab@linux-m68k.org>
555
556 * go-lang.c (go_langhook_init_options_struct): Don't set
557 x_flag_split_stack.
558 (go_langhook_post_options): Set it here instead.
559
560 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
561
562 * gofrontend/backend.h: Fix double word typos.
563 * gofrontend/expressions.cc: Same.
564 * gospec.c: Same.
565
566 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
567
568 * go-backend.c: Adjust includes.
569 * go-gcc.cc: Likewise.
570 * go-lang.c: Likewise.
571
572 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
573
574 * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
575
576 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
577
578 * go-backend.c: Do not include input.h, line-map.h or is-a.h.
579 * go-gcc.cc: Likewise.
580 * go-lang.c: Likewise.
581 * go-system.h: Likewise.
582
583 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
584
585 * go-backend.c : Adjust include files.
586 * go-gcc.cc : Likewise.
587 * go-lang.c : Likewise.
588
589 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
590
591 * go-gcc.cc (write_global_definitions): Remove call to
592 finalize_compilation_unit.
593 Remove Go specific debug generation.
594 * go-lang.c (go_langhook_parse_file): Call go_write_globals.
595 (go_langhook_write_globals): Remove.
596 Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
597
598 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
599
600 * go-backend.c: Adjust includes for restructured coretypes.h.
601 * go-c.h: Likewise.
602 * go-gcc.cc: Likewise.
603 * go-lang.c: Likewise.
604
605 2015-04-30 Chris Manghane <cmang@google.com>
606
607 * go-gcc.cc (Gcc_backend::stack_allocation_expression): New
608 method.
609
610 2015-04-27 Jim Wilson <jim.wilson@linaro.org>
611
612 * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
613
614 2015-04-17 Chris Manghane <cmang@google.com>
615
616 * Make-lang.in (GO_OBJS): Add go/escape.o.
617
618 2015-02-02 Ian Lance Taylor <iant@google.com>
619
620 PR go/64836
621 PR go/64838
622 * go-gcc.cc (Gcc_backend::type_size): Change return type to
623 int64_t.
624 (Gcc_backend::type_alignment): Likewise.
625 (Gcc_backend::type_field_alignment): Likewise.
626 (Gcc_backend::type_field_offset): Likewise.
627 (Gcc_backend::implicit_variable): Change alignment parameter type
628 to int64_t.
629
630 2015-01-23 Ian Lance Taylor <iant@google.com>
631
632 PR go/63565
633 * gccgo.texi (Invoking gccgo): Mention that Go programs should not
634 be stripped.
635
636 * gccgo.texi (C Interoperability): Mention that people should use
637 cgo.
638
639 2015-01-23 Ian Lance Taylor <iant@google.com>
640
641 PR go/64595
642 * go-lang.c (go_langhook_init_options_struct): Set default
643 debug_info_level.
644 (go_langhook_post_options): If debug_info_level is still the
645 default, make sure write_symbols is set.
646 * gccgo.texi (Invoking gccgo): Document that -g1 is the default.
647
648 2015-01-16 Richard Henderson <rth@redhat.com>
649
650 * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
651 (Gcc_backend::static_chain_variable): New method.
652
653 2015-01-09 Ian Lance Taylor <iant@google.com>
654
655 * config-lang.in (lang_dirs): Define.
656
657 2015-01-09 Michael Collison <michael.collison@linaro.org>
658
659 * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
660 input.h, alias.h, symtab.h, options.h, fold-const.h,
661 wide-int.h, and inchash.h due to flattening of tree.h.
662 * go-lang.c: Ditto.
663 * go-backend.c: Ditto.
664
665 2015-01-07 Chris Manghane <cmang@google.com>
666
667 PR go/61204
668 * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
669 zero-sized variable.
670
671 2015-01-06 Chris Manghane <cmang@google.com>
672
673 * go-gcc.cc (Gcc_backend::constructor_expression): Don't
674 initialize zero-sized fields, just evaluate the values for side
675 effects.
676
677 2015-01-05 Jakub Jelinek <jakub@redhat.com>
678
679 Update copyright years.
680
681 * gccgo.texi: Bump @copyrights-go year.
682
683 2014-12-19 Chris Manghane <cmang@google.com>
684
685 * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
686 construct arrays of zero-sized values.
687
688 2014-10-29 Richard Sandiford <richard.sandiford@arm.com>
689
690 * go-lang.c: Remove redundant enum from machine_mode.
691
692 2014-10-28 Andrew MacLeod <amacleod@redhat.com>
693
694 * go-gcc.cc: Adjust include files.
695
696 2014-10-27 Andrew MacLeod <amacleod@redhat.com>
697
698 * go-gcc.cc: Adjust include files.
699 * go-lang.c: Ditto.
700
701 2014-10-23 Ian Lance Taylor <iant@google.com>
702
703 * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
704 mpc_t parameter instead of two mpfr_t parameters.
705
706 2014-09-15 Jakub Jelinek <jakub@redhat.com>
707
708 * Make-lang.in (check_go_parallelize): Change to just an upper bound
709 number.
710
711 2014-09-03 Chris Manghane <cmang@google.com>
712
713 * go-gcc.cc (Gcc_backend::implicit_variable): Remove init
714 parameter. Add is_hidden parameter.
715 (Gcc_backend::implicit_variable_set_init): New method.
716 (Gcc_backend::implicit_variable_reference): New method.
717
718 2014-08-08 Ian Lance Taylor <iant@google.com>
719
720 * go-gcc.cc (Gcc_backend::compound_statement): Don't return
721 NULL_TREE.
722
723 2014-07-24 Uros Bizjak <ubizjak@gmail.com>
724
725 * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
726 symtab_get_node to symtab_node::get.
727
728 2014-06-13 Ian Lance Taylor <iant@google.com>
729
730 PR go/61496
731 * gospec.c (lang_specific_driver): On Solaris, when not using GNU
732 ld, add -t option to avoid warning about common symbol changing
733 size.
734
735 2014-06-10 Jan Hubicka <hubicka@ucw.cz>
736
737 * go-gcc.cc (Gcc_backend::global_variable_set_init): Use
738 symtab_get_node(var_decl)->implicit_section.
739
740 2014-06-07 Jan Hubicka <hubicka@ucw.cz>
741
742 * go-gcc.cc (global_variable_set_init): Use
743 set_decl_section_name.
744
745 2014-06-04 Ian Lance Taylor <iant@google.com>
746
747 * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
748 alignment parameters. Permit init parameter to be NULL.
749
750 2014-06-02 Andrew MacLeod <amacleod@redhat.com>
751
752 * go-gcc.cc: Include builtins.h.
753
754 2014-05-17 Trevor Saunders <tsaunders@mozilla.com>
755
756 * go-lang.c (struct GTY): Don't use variable_size gty attribute.
757
758 2014-05-06 Chris Manghane <cmang@google.com>
759
760 * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
761 (Gcc_backend::boolean_constant_expression): New method.
762 (Gcc_backend::zero_expression): Use this->make_expression rather
763 than tree_to_expr.
764 (Gcc_backend::var_expression): Likewise.
765 (Gcc_backend::integer_constant_expression): Likewise.
766 (Gcc_backend::float_constant_expression): Likewise.
767 (Gcc_backend::complex_constant_expression): Likewise.
768 (Gcc_backend::struct_field_expression): Likewise.
769 (tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
770 (tree_to_function, tree_to_block): Remove functions.
771 (type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
772 (block_to_tree, var_to_tree, function_to_tree): Remove functions.
773
774 2014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
775 Mike Stump <mikestump@comcast.net>
776 Richard Sandiford <rdsandiford@googlemail.com>
777
778 * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
779
780 2014-05-06 Chris Manghane <cmang@google.com>
781
782 * go-c.h (go_create_gogo): Update declaration to add
783 check_divide_zero and check_divide_overflow parameters.
784 * go-lang.c (go_langhook_init): Pass new arguments to
785 go_create_gogo.
786
787 2014-05-05 Chris Manghane <cmang@google.com>
788
789 * go-gcc.cc (Gcc_backend::implicit_variable): Rename from
790 gc_root_variable. Add name and is_constant parameters.
791
792 2014-05-05 Chris Manghane <cmang@google.com>
793
794 * go-gcc.cc (Gcc_backend::indirect_expression): Add btype
795 parameter.
796 (Gcc_backend::temporary_variable): Check for erroneous function.
797
798 2014-04-30 Chris Manghane <cmang@google.com>
799
800 * go-backend.c: #include "diagnostics.h".
801 (saw_errors): New function.
802 * go-c.h (saw_errors): Declare.
803 * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
804
805 2014-04-30 Chris Manghane <cmang@google.com>
806
807 * go-lang.c (go_langhook_type_for_size): Do it here, rather than
808 calling into Go frontend.
809 (go_langhook_type_for_mode): Likewise.
810 * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
811
812 2014-04-30 Chris Manghane <cmang@google.com>
813
814 * go-gcc.cc: #include "langhooks.h".
815 (Gcc_backend::Gcc_backend): Add constructor.
816 (Gcc_backend::lookup_function): New function.
817 (Gcc_backend::define_builtin): New private function.
818 (Gcc_backend::gcc_backend): Remove.
819 (go_get_backend): Use new to create new Gcc_backend.
820
821 2014-04-25 Chris Manghane <cmang@google.com>
822
823 * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
824 (Gcc_backend::return_statement): Push and pop function.
825 (Gcc_backend::label): Likewise.
826 (Gcc_backend::function_defer_statement): Likewise.
827 (Gcc_backend::switch_statement): Add function parameter.
828 (Gcc_backend::block): Don't permit function to be NULL.
829 (Gcc_backend::temporary_variable): Change go_assert to
830 gcc_assert.
831 (Gcc_backend::gc_root_variable): New function.
832 (Gcc_backend::write_global_definitions): New function.
833
834 2014-04-22 Chris Manghane <cmang@google.com>
835
836 * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
837 call to create_tmp_var. Require that function be non-NULL.
838
839 2014-04-17 Chris Manghane <cmang@google.com>
840
841 * go-gcc.cc (Gcc_backend::named_constant_expression): New
842 function.
843
844 2014-04-14 Chris Manghane <cmang@google.com>
845
846 * go-gcc.cc: Include "convert.h".
847 (Gcc_backend::string_constant_expression): New function.
848 (Gcc_backend::real_part_expression): Likewise.
849 (Gcc_backend::imag_part_expression): Likewise.
850 (Gcc_backend::complex_expression): Likewise.
851 (Gcc_backend::constructor_expression): Likewise.
852 (Gcc_backend::array_constructor_expression): Likewise.
853 (Gcc_backend::pointer_offset_expression): Likewise.
854 (Gcc_backend::array_index_expression): Likewise.
855 (Gcc_backend::call_expression): Likewise.
856 (Gcc_backend::exception_handler_statement): Likewise.
857 (Gcc_backend::function_defer_statement): Likewise.
858 (Gcc_backend::function_set_parameters): Likewise.
859 (Gcc_backend::function_set_body): Likewise.
860 (Gcc_backend::convert_expression): Handle various type
861 conversions.
862
863 2014-03-03 Ian Lance Taylor <iant@google.com>
864
865 * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
866 DECL_WEAK.
867 (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
868 DECL_WEAK.
869
870 2014-01-24 Chris Manghane <cmang@google.com>
871
872 * go-gcc.cc (Gcc_backend::unary_expression): New function.
873
874 2014-01-16 Chris Manghane <cmang@google.com>
875
876 * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
877 parameter.
878 (operator_to_tree_code): New static function.
879 (Gcc_backend::binary_expression): New function.
880
881 2014-01-14 Chris Manghane <cmang@google.com>
882
883 * go-gcc.cc (Gcc_backend::compound_expression): New function.
884 (Gcc_backend::conditional_expression): New function.
885
886 2014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
887
888 Update copyright years
889
890 2014-01-02 Tobias Burnus <burnus@net-b.de>
891
892 * gccgo.texi: Bump @copying's copyright year.
893
894 2013-12-16 Chris Manghane <cmang@google.com>
895
896 * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
897
898 2013-12-11 Ian Lance Taylor <iant@google.com>
899
900 * go-lang.c (go_langhook_post_options): Disable sibling calls by
901 default.
902
903 2013-12-10 Ian Lance Taylor <iant@google.com>
904
905 * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
906 separately.
907
908 2013-12-05 Ian Lance Taylor <iant@google.com>
909
910 Revert this change; no longer required.
911 2013-11-06 Ian Lance Taylor <iant@google.com>
912
913 * go-lang.c (go_langhook_post_options): If
914 -fisolate-erroneous-paths was turned on by an optimization option,
915 turn it off.
916
917 2013-11-23 Ian Lance Taylor <iant@google.com>
918
919 * go-gcc.cc (Gcc_backend::function_type): Add result_struct
920 parameter.
921
922 2013-11-22 Andrew MacLeod <amacleod@redhat.com>
923
924 * go-gcc.cc: Add required include files from gimple.h.
925 * go-lang.c: Likewise
926
927 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
928
929 * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
930 tree_to_shwi throughout.
931
932 2013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
933
934 * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
935 tree_fits_shwi_p throughout.
936
937 2013-11-14 Andrew MacLeod <amacleod@redhat.com>
938
939 * go-lang.c: Include only gimplify.h and gimple.h as needed.
940
941 2013-11-14 Diego Novillo <dnovillo@google.com>
942
943 * go-backend.c: Include stor-layout.h.
944 * go-gcc.cc: Include stringpool.h.
945 Include stor-layout.h.
946 Include varasm.h.
947 * go-lang.c: Include stor-layout.h.
948
949 2013-11-12 Andrew MacLeod <amacleod@redhat.com>
950
951 * go-lang.c: Include gimplify.h.
952
953 2013-11-06 Ian Lance Taylor <iant@google.com>
954
955 * go-lang.c (go_langhook_post_options): If
956 -fisolate-erroneous-paths was turned on by an optimization option,
957 turn it off.
958
959 2013-10-14 Chris Manghane <cmang@google.com>
960
961 * go-gcc.cc (Gcc_backend::address_expression): New function.
962
963 2013-10-11 Chris Manghane <cmang@google.com>
964
965 * go-gcc.cc (Gcc_backend::function_code_expression): New
966 function.
967
968 2013-10-10 Chris Manghane <cmang@google.com>
969
970 * go-gcc.cc (Gcc_backend::error_function): New function.
971 (Gcc_backend::function): New function.
972 (Gcc_backend::make_function): New function.
973 (function_to_tree): New function.
974
975 2013-10-04 Chris Manghane <cmang@google.com>
976
977 * go-gcc.cc (Gcc_backend::convert_expression): New function.
978
979 2013-10-02 Chris Manghane <cmang@google.com>
980
981 * go-gcc.cc: Include "real.h" and "realmpfr.h".
982 (Gcc_backend::integer_constant_expression): New function.
983 (Gcc_backend::float_constant_expression): New function.
984 (Gcc_backend::complex_constant_expression): New function.
985
986 2013-09-30 Chris Manghane <cmang@google.com>
987
988 * go-gcc.cc (Gcc_backend::error_expression): New function.
989 (Gcc_backend::var_expression): New function.
990 (Gcc_backend::indirect_expression): New function.
991
992 2013-09-25 Tom Tromey <tromey@redhat.com>
993
994 * Make-lang.in (gospec.o): Remove.
995 (CFLAGS-go/gospec.o): New variable.
996 (GCCGO_OBJS): Update to use go/gospec.o.
997 (go_OBJS): Define.
998 (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
999 (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
1000 (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
1001 (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
1002 (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
1003 (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
1004 (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
1005 (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
1006 (go/unsafe.o): Remove.
1007 (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
1008 (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
1009
1010 2013-09-25 Tom Tromey <tromey@redhat.com>
1011
1012 * Make-lang.in (gospec.o): Don't use subshell.
1013
1014 2013-08-28 Ian Lance Taylor <iant@google.com>
1015
1016 * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
1017 the struct is not hidden.
1018 (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
1019
1020 2013-08-06 Ian Lance Taylor <iant@google.com>
1021
1022 * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
1023 compute_reloc_for_constant.
1024
1025 2013-08-02 Ian Lance Taylor <iant@google.com>
1026
1027 * go-gcc.cc (immutable_struct_set_init): Always call
1028 resolve_unique_section.
1029
1030 2013-07-24 Ian Lance Taylor <iant@google.com>
1031
1032 * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
1033 fields, recreate those fields with the first one with a non-zero
1034 size.
1035
1036 2013-07-23 Ian Lance Taylor <iant@google.com>
1037
1038 * go-backend.c: Don't #include "rtl.h".
1039 (go_imported_unsafe): Don't call init_varasm_once.
1040 * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
1041
1042 2013-07-23 Ian Lance Taylor <iant@google.com>
1043
1044 * go-lang.c: Don't #include "except.h".
1045 * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
1046
1047 2013-06-18 Ian Lance Taylor <iant@google.com>
1048
1049 * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
1050 parameter.
1051 (Gcc_backend::immutable_struct_set_init): Likewise.
1052
1053 2013-05-16 Jason Merrill <jason@redhat.com>
1054
1055 * Make-lang.in (go1$(exeext)): Use link mutex.
1056
1057 2013-01-16 Shenghou Ma <minux.ma@gmail.com>
1058
1059 * gospec.c: pass -u pthread_create to linker when static linking.
1060
1061 2012-12-21 Ian Lance Taylor <iant@google.com>
1062
1063 PR bootstrap/54659
1064 * go-system.h: Don't include <cstdio>.
1065
1066 2012-12-18 Ian Lance Taylor <iant@google.com>
1067
1068 PR go/55201
1069 * gospec.c: Revert last patch.
1070
1071 2012-12-18 Andreas Schwab <schwab@linux-m68k.org>
1072
1073 PR go/55201
1074 * gospec.c (LIBATOMIC): Define.
1075 (LIBATOMIC_PROFILE): Define.
1076 (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
1077
1078 2012-11-29 Ian Lance Taylor <iant@google.com>
1079
1080 * go-gcc.cc: Include "output.h".
1081 (global_variable): Add is_unique_section parameter.
1082 (global_variable_set_init): Adjust unique section if necessary.
1083 * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
1084
1085 2012-11-17 Diego Novillo <dnovillo@google.com>
1086
1087 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1088
1089 * go-lang.c: Use new vec API in vec.h.
1090
1091 2012-11-16 Ian Lance Taylor <iant@google.com>
1092
1093 * Make-lang.in (gccgo$(exeext)): Add + at start of command.
1094 (go1$(exeext)): Likewise.
1095
1096 2012-10-30 Ian Lance Taylor <iant@google.com>
1097
1098 * lang.opt (-fgo-relative-import-path): New option.
1099 * go-lang.c (go_relative_import_path): New static variable.
1100 (go_langhook_init): Pass go_relative_import_path to
1101 go_create_gogo.
1102 (go_langhook_handle_option): Handle -fgo-relative-import-path.
1103 * go-c.h (go_create_gogo): Update declaration.
1104 * gccgo.texi (Invoking gccgo): Document
1105 -fgo-relative-import-path.
1106
1107 2012-09-17 Ian Lance Taylor <iant@google.com>
1108
1109 * config-lang.in (target_libs): Add target-libbacktrace.
1110
1111 2012-09-16 Ian Lance Taylor <iant@google.com>
1112
1113 * Make-lang.in (go/gogo.o): Depend on filenames.h.
1114
1115 2012-08-14 Diego Novillo <dnovillo@google.com>
1116
1117 Merge from cxx-conversion branch. Configury.
1118
1119 * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
1120 * go-gcc.cc: Likewise.
1121 * go-system.h: Likewise.
1122
1123 2012-07-24 Uros Bizjak <ubizjak@gmail.com>
1124
1125 * go-lang.c (lang_decl): Add variable_size GTY option.
1126
1127 2012-05-09 Ian Lance Taylor <iant@google.com>
1128
1129 * lang.opt: Add -fgo-pkgpath.
1130 * go-lang.c (go_pkgpath): New static variable.
1131 (go_prefix): New static variable.
1132 (go_langhook_init): Pass go_pkgpath and go_prefix to
1133 go_create_gogo.
1134 (go_langhook_handle_option): Handle -fgo-pkgpath. Change
1135 -fgo-prefix handling to just set go_prefix.
1136 * go-c.h (go_set_prefix): Don't declare.
1137 (go_create_gogo): Add pkgpath and prefix to declaration.
1138 * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
1139 to pkgpath. Don't include the package name in the asm name.
1140 * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the
1141 docs for -fgo-prefix.
1142
1143 2012-04-23 Ian Lance Taylor <iant@google.com>
1144
1145 * go-lang.c (go_langhook_init): Set MPFR precision to 256.
1146
1147 2012-04-20 Ian Lance Taylor <iant@google.com>
1148
1149 * lang.opt: Add -fgo-check-divide-zero and
1150 -fgo-check-divide-overflow.
1151 * gccgo.texi (Invoking gccgo): Document new options.
1152
1153 2012-04-18 Steven Bosscher <steven@gcc.gnu.org>
1154
1155 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
1156 with NULL_TREE type instead of void_type_node.
1157
1158 2012-03-09 Ian Lance Taylor <iant@google.com>
1159
1160 * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
1161 to the lhs type if necessary.
1162
1163 2012-03-08 Ian Lance Taylor <iant@google.com>
1164
1165 * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
1166 zero-sized variable.
1167 (go_non_zero_struct): New global variable.
1168 (Gcc_backend::non_zero_size_type): New function.
1169 (Gcc_backend::global_variable): Don't build an assignment for a
1170 zero-sized value.
1171 * go-c.h (go_non_zero_struct): Declare.
1172 * config-lang.in (gtfiles): Add go-c.h.
1173
1174 2012-02-29 Ian Lance Taylor <iant@google.com>
1175
1176 * go-gcc.cc (class Gcc_tree): Add set_tree method.
1177 (set_placeholder_pointer_type): When setting to a pointer to
1178 error, set to error_mark_node.
1179
1180 2012-02-23 Richard Guenther <rguenther@suse.de>
1181
1182 * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
1183 build_distinct_type_copy.
1184
1185 2012-02-17 Ian Lance Taylor <iant@google.com>
1186
1187 * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
1188
1189 2012-02-17 Ian Lance Taylor <iant@google.com>
1190
1191 * gospec.c (lang_specific_driver): If linking, and no -o option
1192 was used, add one.
1193
1194 2012-02-14 Ian Lance Taylor <iant@google.com>
1195
1196 PR go/48411
1197 * Make-lang.in (gccgo-cross$(exeext)): New target.
1198 (go.all.cross): Depend on gccgo-cross$(exeext) instead of
1199 gccgo$(exeext).
1200 (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
1201 gccgo-cross$(exeext) does not exist.
1202
1203 2012-02-07 Ian Lance Taylor <iant@google.com>
1204
1205 * gccgo.texi (Function Names): Document //extern instead of
1206 __asm__.
1207
1208 2012-02-01 Jakub Jelinek <jakub@redhat.com>
1209
1210 PR target/52079
1211 * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
1212 return build_nonstandard_integer_type result if possible.
1213
1214 2012-01-21 Ian Lance Taylor <iant@google.com>
1215
1216 * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
1217 (Gcc_backend::type_alignment): Likewise.
1218 (Gcc_backend::type_field_alignment): Likewise.
1219 (Gcc_backend::type_field_offset): Likewise.
1220
1221 2012-01-20 Ian Lance Taylor <iant@google.com>
1222
1223 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
1224 be empty.
1225 (Gcc_backend::set_placeholder_struct_type): Likewise.
1226
1227 2012-01-17 Ian Lance Taylor <iant@google.com>
1228
1229 * gospec.c (lang_specific_driver): If we see -S without -o, add -o
1230 BASE.s rather than -o BASE.o.
1231
1232 2012-01-11 Ian Lance Taylor <iant@google.com>
1233
1234 * go-lang.c (go_langhook_init): Initialize void_list_node before
1235 calling go_create_gogo.
1236
1237 2012-01-10 Ian Lance Taylor <iant@google.com>
1238
1239 * go-gcc.cc (Gcc_backend::type_size): New function.
1240 (Gcc_backend::type_alignment): New function.
1241 (Gcc_backend::type_field_alignment): New function.
1242 (Gcc_backend::type_field_offset): New function.
1243 * go-backend.c (go_type_alignment): Remove.
1244 * go-c.h (go_type_alignment): Don't declare.
1245
1246 2011-12-27 Ian Lance Taylor <iant@google.com>
1247
1248 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
1249 build_distinct_type_copy rather than build_variant_type_copy.
1250 (Gcc_backend::set_placeholder_array_type): Likewise.
1251 (Gcc_backend::named_type): Add special handling for builtin
1252 basic types.
1253
1254 2011-12-22 Ian Lance Taylor <iant@google.com>
1255
1256 * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
1257 for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
1258 (Gcc_backend::set_placeholder_struct_type): Likewise.
1259 (Gcc_backend::set_placeholder_array_type): Likewise.
1260 (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
1261
1262 2011-12-13 Ian Lance Taylor <iant@google.com>
1263
1264 * go-backend.c: #include "simple-object.h" and "intl.h".
1265 (GO_EXPORT_SEGMENT_NAME): Define if not defined.
1266 (GO_EXPORT_SECTION_NAME): Likewise.
1267 (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
1268 (go_read_export_data): New function.
1269 * go-c.h (go_read_export_data): Declare.
1270
1271 2011-11-29 Sanjoy Das <thedigitalangel@gmail.com>
1272 Ian Lance Taylor <iant@google.com>
1273
1274 * go-location.h: New file.
1275 * go-linemap.cc: New file.
1276 * go-gcc.cc: Change all uses of source_location to Location.
1277 * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1278 (GO_LINEMAP_H): New variable.
1279 (GO_LEX_H): Use $(GO_LINEMAP_H).
1280 (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1281 (go/go-linemap.o): New target.
1282
1283 2011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1284
1285 * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1286
1287 2011-08-24 Roberto Lublinerman <rluble@gmail.com>
1288
1289 * lang.opt: Add fgo-optimize-.
1290 * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1291 * go-c.h (go_enable_optimize): Declare.
1292 * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1293 (GO_EXPORT_H): Define.
1294 (GO_IMPORT_H): Add $(GO_EXPORT_H).
1295 (GO_AST_DUMP_H): Define.
1296 (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1297 (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1298 (go/types.o): Likewise.
1299 (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1300 (go/go-optimize.o): New target.
1301
1302 2011-08-24 Joseph Myers <joseph@codesourcery.com>
1303
1304 * Make-lang.in (CFLAGS-go/go-lang.o): New.
1305 (go/go-lang.o): Remove explicit compilation rule.
1306
1307 2011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1308
1309 * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1310
1311 2011-08-02 Roberto Lublinerman <rluble@gmail.com>
1312
1313 * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1314 (go/ast-dump.o): New target.
1315 (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1316 (go/statements.o): Likewise.
1317
1318 2011-07-06 Richard Guenther <rguenther@suse.de>
1319
1320 * go-lang.c (go_langhook_init):
1321 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1322
1323 2011-06-14 Joseph Myers <joseph@codesourcery.com>
1324
1325 * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1326 dependencies.
1327 * go-backend.c: Include common/common-target.h.
1328 (go_write_export_data): Use targetm_common.have_named_sections.
1329 * go-lang.c: Include common/common-target.h.
1330 (go_langhook_init_options_struct): Use
1331 targetm_common.supports_split_stack.
1332
1333 2011-06-13 Ian Lance Taylor <iant@google.com>
1334
1335 * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1336
1337 2011-06-10 Ian Lance Taylor <iant@google.com>
1338
1339 * go-gcc.cc: Include "toplev.h".
1340 (Gcc_backend::immutable_struct): New function.
1341 (Gcc_backend::immutable_struct_set_init): New function.
1342 (Gcc_backend::immutable_struct_reference): New function.
1343 * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1344
1345 2011-06-09 Ian Lance Taylor <iant@google.com>
1346
1347 * go-gcc.cc (Gcc_backend::zero_expression): New function.
1348
1349 2011-06-07 Richard Guenther <rguenther@suse.de>
1350
1351 * go-lang.c (go_langhook_init): Do not set
1352 size_type_node or call set_sizetype.
1353
1354 2011-05-27 Ian Lance Taylor <iant@google.com>
1355
1356 * go-backend.c: Include "output.h".
1357 (go_write_export_data): New function.
1358 * go-c.h (go_write_export_data): Declare.
1359 * Make-lang.in (go/go-backend.o): Depend on output.h.
1360 (go/export.o): Depend on $(GO_C_H). Do not depend on
1361 $(MACHMODE_H), output.h, or $(TARGET_H).
1362
1363 2011-05-24 Joseph Myers <joseph@codesourcery.com>
1364
1365 * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1366 (gccgo$(exeext)): Use libcommon-target.a.
1367
1368 2011-05-20 Joseph Myers <joseph@codesourcery.com>
1369
1370 * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1371
1372 2011-05-13 Ian Lance Taylor <iant@google.com>
1373
1374 * go-gcc.cc (Gcc_backend::function_type): When building a struct
1375 for multiple results, check that all fields types have a size.
1376 (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1377
1378 2011-05-12 Ian Lance Taylor <iant@google.com>
1379
1380 * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1381 parameter.
1382 (Gcc_backend::parameter_variable): Likewise.
1383
1384 2011-05-07 Eric Botcazou <ebotcazou@adacore.com>
1385
1386 * go-lang.c (global_bindings_p): Return bool and simplify.
1387
1388 2011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1389
1390 * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1391
1392 2011-05-04 Ian Lance Taylor <iant@google.com>
1393
1394 * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1395 (Gcc_backend::fill_in_struct): New function.
1396 (Gcc_backend::array_type): Implement.
1397 (Gcc_backend::fill_in_array): New function.
1398 (Gcc_backend::placeholder_pointer_type): New function.
1399 (Gcc_backend::set_placeholder_pointer_type): New function.
1400 (Gcc_backend::set_placeholder_function_type): New function.
1401 (Gcc_backend::placeholder_struct_type): New function.
1402 (Gcc_backend::set_placeholder_struct_type): New function.
1403 (Gcc_backend::placeholder_array_type): New function.
1404 (Gcc_backend::set_placeholder_array_type): New function.
1405 (Gcc_backend::named_type): New function.
1406 (Gcc_backend::circular_pointer_type): New function.
1407 (Gcc_backend::is_circular_pointer_type): New function.
1408
1409 2011-04-26 Ian Lance Taylor <iant@google.com>
1410
1411 * go-gcc.cc (Gcc_backend::struct_type): Implement.
1412
1413 2011-04-25 Ian Lance Taylor <iant@google.com>
1414
1415 * go-gcc.cc (Gcc_backend::error_type): Implement.
1416 (Gcc_backend::string_type): Remove.
1417 (Gcc_backend::function_type): Change signature and implement.
1418 (Gcc_backend::struct_type): Change signature.
1419 (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1420 (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1421 (Gcc_backend::pointer_type): Check for error.
1422 * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1423
1424 2011-04-25 Evan Shaw <edsrzf@gmail.com>
1425
1426 * go-gcc.c (class Gcc_tree): Make get_tree const.
1427 (Gcc_backend::void_type): Implement.
1428 (Gcc_backend::bool_type): Implement.
1429 (Gcc_backend::integer_type): Implement.
1430 (Gcc_backend::float_type): Implement.
1431 (Gcc_backend::complex_type): New function.
1432 (Gcc_backend::pointer_type): New function.
1433 (Gcc_backend::make_type): New function.
1434 (type_to_tree): New function.
1435
1436 2011-04-21 Ian Lance Taylor <iant@google.com>
1437
1438 * go-system.h (go_assert, go_unreachable): Define.
1439
1440 2011-04-19 Ian Lance Taylor <iant@google.com>
1441
1442 * go-system.h: Include "intl.h".
1443 * Make-lang.in (GO_SYSTEM_H): Add intl.h.
1444 (go/statements.o): Remove dependencies on intl.h $(TREE_H)
1445 $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1446
1447 2011-04-19 Ian Lance Taylor <iant@google.com>
1448
1449 * go-gcc.cc (Gcc_backend::temporary_variable): New function.
1450
1451 2011-04-19 Ian Lance Taylor <iant@google.com>
1452
1453 * go-gcc.cc (class Bblock): Define.
1454 (Gcc_backend::if_statement): Change then_block and else_block to
1455 Bblock*.
1456 (Gcc_backend::block): New function.
1457 (Gcc_backend::block_add_statements): New function.
1458 (Gcc_backend::block_statement): New function.
1459 (tree_to_block, block_to_tree): New functions.
1460
1461 2011-04-18 Ian Lance Taylor <iant@google.com>
1462
1463 * go-gcc.cc: Include "go-c.h".
1464 (class Bvariable): Define.
1465 (Gcc_backend::init_statement): New function.
1466 (Gcc_backend::global_variable): New function.
1467 (Gcc_backend::global_variable_set_init): New function.
1468 (Gcc_backend::local_variable): New function.
1469 (Gcc_backend::parameter_variable): New function.
1470 (tree_to_type, var_to_tree): New functions.
1471 * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1472 * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1473
1474 2011-04-15 Ian Lance Taylor <iant@google.com>
1475
1476 * go-gcc.cc (Gcc_backend::compound_statement): New function.
1477 (Gcc_backend::assignment_statement): Use error_statement.
1478 (Gcc_backend::return_statement): Likewise.
1479 (Gcc_backend::if_statement): Likewise.
1480 (Gcc_backend::switch_statement): Likewise.
1481 (Gcc_backend::statement_list): Likewise.
1482
1483 2011-04-14 Ian Lance Taylor <iant@google.com>
1484
1485 * go-gcc.cc (Gcc_backend::error_statement): New function.
1486
1487 2011-04-13 Ian Lance Taylor <iant@google.com>
1488
1489 * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1490
1491 2011-04-13 Ian Lance Taylor <iant@google.com>
1492
1493 * Make-lang.in (GO_OBJS): Add go/runtime.o.
1494 (GO_RUNTIME_H): New variable.
1495 (go/runtime.o): New target.
1496 (go/gogo.o): Depend on $(GO_RUNTIME_H).
1497 (go/statements.o): Likewise.
1498
1499 2011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1500
1501 * go-lang.c (union lang_tree_node): Check for TS_COMMON before
1502 calling TREE_CHAIN.
1503
1504 2011-04-06 Ian Lance Taylor <iant@google.com>
1505
1506 * go-gcc.cc (if_statement): Use build3_loc.
1507 (Gcc_backend::switch_statement): New function.
1508 (Gcc_backend::statement_list): New function.
1509
1510 2011-04-06 Ian Lance Taylor <iant@google.com>
1511
1512 * go-gcc.cc (Gcc_backend::if_statement): New function.
1513 (tree_to_stat): New function.
1514 (expr_to_tree): Renamed from expression_to_tree.
1515 (stat_to_tree): Renamed from statement_to_tree.
1516
1517 2011-04-06 Ian Lance Taylor <iant@google.com>
1518
1519 * go-gcc.cc (Gcc_backend::expression_statement): New function.
1520
1521 2011-04-04 Ian Lance Taylor <iant@google.com>
1522
1523 * go-gcc.c (class Blabel): Define.
1524 (Gcc_backend::make_expression): New function.
1525 (get_identifier_from_string): New function.
1526 (Gcc_backend::label): New function.
1527 (Gcc_backend::label_definition_statement): New function.
1528 (Gcc_backend::goto_statement): New function.
1529 (Gcc_backend::label_address): New function.
1530 (expression_to_tree): New function.
1531 * Make-lang.in (go/expressions.o): Depend on
1532 go/gofrontend/backend.h.
1533 (go/gogo.o): Likewise.
1534
1535 2011-04-04 Ian Lance Taylor <iant@google.com>
1536
1537 * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1538 (class Bfunction): Define.
1539 (Gcc_backend::assignment_statement): Rename from assignment.
1540 Check for errors.
1541 (Gcc_backend::return_statement): New function.
1542 (tree_to_function): New function.
1543 * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1544 $(GIMPLE_H), and $(GO_GOGO_H).
1545
1546 2011-04-03 Ian Lance Taylor <iant@google.com>
1547
1548 * go-gcc.cc: New file.
1549 * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1550 (go/go-gcc.o): New target.
1551 (go/go.o): Depend on go/gofrontend/backend.h.
1552 (go/statements.o): Likewise.
1553
1554 2011-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1555
1556 * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1557
1558 2011-02-08 Ian Lance Taylor <iant@google.com>
1559
1560 * go-lang.c (go_langhook_init_options_struct): Set
1561 frontend_set_flag_errno_math. Don't set x_flag_trapping_math.
1562
1563 2011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1564
1565 * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1566 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1567
1568 2011-01-21 Ian Lance Taylor <iant@google.com>
1569
1570 * go-lang.c (go_langhook_init): Omit float_type_size when calling
1571 go_create_gogo.
1572 * go-c.h: Update declaration of go_create_gogo.
1573
1574 2011-01-13 Ian Lance Taylor <iant@google.com>
1575
1576 * go-backend.c: Include "rtl.h" and "target.h".
1577 (go_imported_unsafe): New function.
1578 * go-c.h (go_imported_unsafe): Declare.
1579 * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
1580 (go/gogo-tree.o): Remove dependency on $(RTL_H).
1581 (go/unsafe.o): Depend on $(GO_C_H).
1582
1583 2010-12-31 Joern Rennecke <amylaar@spamcop.net>
1584
1585 PR go/47113
1586 * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
1587 variable ‘field’ .
1588
1589 2010-12-21 Ian Lance Taylor <iant@google.com>
1590
1591 * Make-lang.in (check-go): Remove.
1592 (lang_checks_parallelized): Add check-go.
1593 (check_go_parallelize): Set.
1594
1595 2010-12-13 Ian Lance Taylor <iant@google.com>
1596
1597 * gospec.c (lang_specific_driver): Add a -o option if not linking
1598 and there is no -o option already.
1599
1600 2010-12-07 Ian Lance Taylor <iant@google.com>
1601
1602 PR tree-optimization/46805
1603 PR tree-optimization/46833
1604 * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
1605
1606 2010-12-06 Ian Lance Taylor <iant@google.com>
1607
1608 PR other/46789
1609 PR bootstrap/46812
1610 * go-lang.c (go_char_p): Define type and vectors.
1611 (go_search_dirs): New static variable.
1612 (go_langhook_handle_option): Use version and version/machine
1613 directories for -L.
1614 (go_langhook_post_options): Add non-specific -L paths.
1615 * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
1616 DEFAULT_TARGET_MACHINE when compiling.
1617 * gccgo.texi (Invoking gccgo): Only document -L for linking.
1618 (Import and Export): Don't mention -L for finding import files.
1619
1620 2010-12-03 Ian Lance Taylor <iant@google.com>
1621
1622 PR bootstrap/46776
1623 * go-backend.c: New file.
1624 * go-c.h (go_type_alignment): Declare.
1625 (go_field_alignment, go_trampoline_info): Declare.
1626 * Make-lang.in (GO_OBJS): Add go/go-backend.o.
1627 (go/go-backend.o): New target.
1628 (go/go-lang.o): Make dependencies match source file.
1629 (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
1630 (go/gogo-tree.o): Don't depend on $(TM_H).
1631
1632 2010-12-03 Ian Lance Taylor <iant@google.com>
1633
1634 * config-lang.in (build_by_default): Set to no.
1635
1636 2010-12-02 Ian Lance Taylor <iant@google.com>
1637
1638 Go frontend added to gcc repository.
1639 \f
1640 Copyright (C) 2010-2019 Free Software Foundation, Inc.
1641
1642 Copying and distribution of this file, with or without modification,
1643 are permitted in any medium without royalty provided the copyright
1644 notice and this notice are preserved.