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