]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/go/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / go / ChangeLog
CommitLineData
267e1fea
GA
12023-06-26 Ian Lance Taylor <iant@golang.org>
2
3 * lang.opt (fgo-importcfg): New option.
4 * go-c.h (struct go_create_gogo_args): Add importcfg field.
5 * go-lang.cc (go_importcfg): New static variable.
6 (go_langhook_init): Set args.importcfg.
7 (go_langhook_handle_option): Handle -fgo-importcfg.
8 * gccgo.texi (Invoking gccgo): Document -fgo-importcfg.
9
270742ce
GA
102023-06-22 Paul E. Murphy <murphyp@linux.ibm.com>
11
12 * go-backend.cc [TARGET_AIX]: Rename and update usage to TARGET_AIX_OS.
13 * go-lang.cc: Likewise.
14
13ec81eb
GA
152023-03-24 Jakub Jelinek <jakub@redhat.com>
16
17 PR middle-end/109258
18 * go-gcc.cc (Gcc_backend): Add new static data members builtin_pure
19 and builtin_nothrow.
20 (Gcc_backend::Gcc_backend): Pass builtin_pure | builtin_nothrow for
21 BUILT_IN_MEMCMP.
22 (Gcc_backend::define_builtin): Handle builtin_pure and builtin_nothrow
23 in flags.
24
e2b20ed3
GA
252023-02-23 Arsen Arsenović <arsen@aarsen.me>
26
27 * gccgo.texi: Reorder index entries around @items.
28
8d07b193
GA
292023-01-17 Ian Lance Taylor <iant@golang.org>
30
31 PR go/108426
32 * go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_ctzl and
33 __builtin_clzl. Patch by Andrew Pinski.
34
fee53a31
GA
352023-01-02 Jakub Jelinek <jakub@redhat.com>
36
37 * gccgo.texi: Bump @copyrights-go year.
38
83d400bd
GA
392022-11-14 Martin Liska <mliska@suse.cz>
40
41 Revert:
42 2022-11-14 Martin Liska <mliska@suse.cz>
43
44 * doc/c-interoperability.rst: New file.
45 * doc/c-type-interoperability.rst: New file.
46 * doc/compiler-directives.rst: New file.
47 * doc/conf.py: New file.
48 * doc/copyright.rst: New file.
49 * doc/function-names.rst: New file.
50 * doc/general-public-license-3.rst: New file.
51 * doc/gnu-free-documentation-license.rst: New file.
52 * doc/import-and-export.rst: New file.
53 * doc/index.rst: New file.
54 * doc/indices-and-tables.rst: New file.
55 * doc/introduction.rst: New file.
56 * doc/invoking-gccgo.rst: New file.
57
582022-11-14 Martin Liska <mliska@suse.cz>
59
60 Revert:
61 2022-11-14 Martin Liska <mliska@suse.cz>
62
63 * Make-lang.in: Support Sphinx based documentation.
64
652022-11-14 Martin Liska <mliska@suse.cz>
66
67 Revert:
68 2022-11-14 Martin Liska <mliska@suse.cz>
69
70 * gccgo.texi: Removed.
71
722022-11-14 Martin Liska <mliska@suse.cz>
73
74 Revert:
75 2022-11-14 Martin Liska <mliska@suse.cz>
76
77 * Make-lang.in: Support --with-sphinx-build.
78
792022-11-14 Martin Liska <mliska@suse.cz>
80
81 Revert:
82 2022-11-14 Martin Liska <mliska@suse.cz>
83
84 * Make-lang.in:
85 Support installation if sphinx-build is missing.
86 Support installation if sphinx-build is missing.
87
882022-11-14 Martin Liska <mliska@suse.cz>
89
90 Revert:
91 2022-11-14 Martin Liska <mliska@suse.cz>
92
93 * doc/c-interoperability.rst:
3d3b561f 94 Add trailing newline.
83d400bd 95 * doc/c-type-interoperability.rst:
3d3b561f 96 Add trailing newline.
83d400bd 97 * doc/compiler-directives.rst:
3d3b561f 98 Add trailing newline.
83d400bd 99 * doc/copyright.rst:
3d3b561f 100 Add trailing newline.
83d400bd 101 * doc/function-names.rst:
3d3b561f 102 Add trailing newline.
83d400bd 103 * doc/general-public-license-3.rst:
3d3b561f 104 Add trailing newline.
83d400bd 105 * doc/gnu-free-documentation-license.rst:
3d3b561f 106 Add trailing newline.
83d400bd 107 * doc/import-and-export.rst:
3d3b561f 108 Add trailing newline.
83d400bd 109 * doc/index.rst:
3d3b561f 110 Add trailing newline.
83d400bd 111 * doc/indices-and-tables.rst:
3d3b561f 112 Add trailing newline.
83d400bd 113 * doc/introduction.rst:
3d3b561f 114 Add trailing newline.
83d400bd 115 * doc/invoking-gccgo.rst:
3d3b561f 116 Add trailing newline.
83d400bd
GA
117
1182022-11-14 Martin Liska <mliska@suse.cz>
119
120 Revert:
121 2022-11-14 Martin Liska <mliska@suse.cz>
122
123 * doc/conf.py: Add newline at last line.
124
f225b813
GA
1252022-11-10 Martin Liska <mliska@suse.cz>
126
127 * doc/conf.py: Add newline at last line.
128
1cdfd0e5
GA
1292022-11-10 Ian Lance Taylor <iant@golang.org>
130
131 PR target/107581
132 * go-gcc.cc (Gcc_backend::Gcc_backend): Define
133 __atomic_fetch_add_{4,8}.
134
1352022-11-09 Martin Liska <mliska@suse.cz>
136
137 * doc/c-interoperability.rst:
3d3b561f 138 Add trailing newline.
1cdfd0e5 139 * doc/c-type-interoperability.rst:
3d3b561f 140 Add trailing newline.
1cdfd0e5 141 * doc/compiler-directives.rst:
3d3b561f 142 Add trailing newline.
1cdfd0e5 143 * doc/copyright.rst:
3d3b561f 144 Add trailing newline.
1cdfd0e5 145 * doc/function-names.rst:
3d3b561f 146 Add trailing newline.
1cdfd0e5 147 * doc/general-public-license-3.rst:
3d3b561f 148 Add trailing newline.
1cdfd0e5 149 * doc/gnu-free-documentation-license.rst:
3d3b561f 150 Add trailing newline.
1cdfd0e5 151 * doc/import-and-export.rst:
3d3b561f 152 Add trailing newline.
1cdfd0e5 153 * doc/index.rst:
3d3b561f 154 Add trailing newline.
1cdfd0e5 155 * doc/indices-and-tables.rst:
3d3b561f 156 Add trailing newline.
1cdfd0e5 157 * doc/introduction.rst:
3d3b561f 158 Add trailing newline.
1cdfd0e5 159 * doc/invoking-gccgo.rst:
3d3b561f 160 Add trailing newline.
1cdfd0e5
GA
161
1622022-11-09 Martin Liska <mliska@suse.cz>
163
164 * Make-lang.in:
165 Support installation if sphinx-build is missing.
166 Support installation if sphinx-build is missing.
167
1682022-11-09 Martin Liska <mliska@suse.cz>
169
170 * Make-lang.in: Support --with-sphinx-build.
171
1722022-11-09 Martin Liska <mliska@suse.cz>
173
174 * gccgo.texi: Removed.
175
1762022-11-09 Martin Liska <mliska@suse.cz>
177
178 * Make-lang.in: Support Sphinx based documentation.
179
1802022-11-09 Martin Liska <mliska@suse.cz>
181
182 * doc/c-interoperability.rst: New file.
183 * doc/c-type-interoperability.rst: New file.
184 * doc/compiler-directives.rst: New file.
185 * doc/conf.py: New file.
186 * doc/copyright.rst: New file.
187 * doc/function-names.rst: New file.
188 * doc/general-public-license-3.rst: New file.
189 * doc/gnu-free-documentation-license.rst: New file.
190 * doc/import-and-export.rst: New file.
191 * doc/index.rst: New file.
192 * doc/indices-and-tables.rst: New file.
193 * doc/introduction.rst: New file.
194 * doc/invoking-gccgo.rst: New file.
195
d0fc05e8
GA
1962022-09-15 Richard Biener <rguenther@suse.de>
197
198 * go-lang.cc (go_langhook_init): Do not initialize
199 void_list_node.
200
c64b0947
GA
2012022-09-02 Martin Liska <mliska@suse.cz>
202
203 * go-lang.cc (go_langhook_pushdecl): Remove -gstabs option support, DBX-related
3d3b561f 204 macros and DBX debugging info support.
c64b0947
GA
205 * gospec.cc (lang_specific_driver): Likewise.
206
7bcd7f47
GA
2072022-07-16 Ian Lance Taylor <iant@golang.org>
208
209 * go-gcc.cc (Gcc_backend::struct_field_expression): Handle a void
210 expression, as for f().x where f returns a zero-sized type.
211
bdc7b765
GA
2122022-07-15 Ian Lance Taylor <iant@golang.org>
213
214 * go-gcc.cc (Gcc_backend::call_expression): Handle a void
215 argument, as for f(g()) where g returns a zero-sized type.
216
b168441c
GA
2172022-06-02 David Malcolm <dmalcolm@redhat.com>
218
219 * go-lang.cc (go_get_sarif_source_language): New.
220 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): Redefine.
221
820ead45
GA
2222022-05-31 Jason Merrill <jason@redhat.com>
223
224 * Make-lang.in (go.tags): Look at *.cc.
225
0d31c8ec
GA
2262022-02-13 Ian Lance Taylor <iant@golang.org>
227
228 * gospec.cc: Revert 2022-02-09 change:
229 (RTLIB, RT_LIBRARY): Don't define.
230 (lang_specific_driver): Don't add -lrt if linking statically
231 on GNU/Linux.
232
3adf509f
GA
2332022-02-09 Ian Lance Taylor <iant@golang.org>
234
235 * gospec.cc (RTLIB, RT_LIBRARY): Define.
236 (lang_specific_driver): Add -lrt if linking statically on
237 GNU/Linux.
238
2392022-02-09 Ian Lance Taylor <iant@golang.org>
240
241 * go-gcc.cc (Gcc_backend::Gcc_backend): Define builtins
242 __atomic_load_1 and __atomic_store_1.
243
fc829782
GA
2442022-01-17 Martin Liska <mliska@suse.cz>
245
246 * config-lang.in: Rename .c names to .cc.
247 * go-backend.cc: Likewise.
248 * go-lang.cc: Likewise.
249 * gospec.cc: Likewise.
250 * lang-specs.h: Likewise.
251
2522022-01-17 Martin Liska <mliska@suse.cz>
253
254 * go-backend.c: Moved to...
255 * go-backend.cc: ...here.
256 * go-lang.c: Moved to...
257 * go-lang.cc: ...here.
258 * gospec.c: Moved to...
259 * gospec.cc: ...here.
260
a4ae8c37
GA
2612022-01-03 Jakub Jelinek <jakub@redhat.com>
262
263 * gccgo.texi: Bump @copyrights-go year.
264
054e57e4
GA
2652021-12-28 Martin Liska <mliska@suse.cz>
266
267 * gccgo.texi: Replace http:// with https.
268
87cd82c8
GA
2692021-11-29 Eric Gallager <egallager@gcc.gnu.org>
270
271 PR other/103021
272 * Make-lang.in: Use ETAGS variable in TAGS target.
273
cf966403
GA
2742021-09-27 Martin Liska <mliska@suse.cz>
275
276 * go-lang.c (go_langhook_init_options_struct): Set also
3d3b561f 277 x_flag_default_complex_method.
cf966403 278
6bc18203
GA
2792021-06-29 Ian Lance Taylor <iant@golang.org>
280
281 * go-gcc.cc (Gcc_backend::static_chain_variable): Set
282 DECL_NAMELESS on the new decl.
283 (Gcc_backend::temporary_variable): Likewise.
284 (Gcc_backend::function): Set DECL_NAMELESS on the result decl.
285
cd62d089
GA
2862021-05-27 Ian Lance Taylor <iant@golang.org>
287
288 * gccgo.texi (Function Names): Don't HTML quote ampersand.
289
637569df
GA
2902021-05-24 Ian Lance Taylor <iant@golang.org>
291
292 PR go/100537
293 * go-gcc.cc (class Gcc_backend): Update methods that create
294 variables to take a flags parameter.
295
85d04a2e
GA
2962021-01-28 Ian Lance Taylor <iant@golang.org>
297
298 * gospec.c (lang_specific_driver): Add -g if no debugging options
299 were passed.
300
2f7f0d32
GA
3012021-01-15 Ian Lance Taylor <iant@golang.org>
302
303 * Make-lang.in (GO_OBJS): Add go/embed.o.
304
651b8a50
GA
3052021-01-05 Jakub Jelinek <jakub@redhat.com>
306
307 * lang.opt (fgo-embedcfg=): Add full stop at the end of description.
308
3092021-01-05 Ian Lance Taylor <iant@golang.org>
310
311 * lang.opt (fgo-embedcfg): New option.
312 * go-c.h (struct go_create_gogo_args): Add embedcfg field.
313 * go-lang.c (go_embedcfg): New static variable.
314 (go_langhook_init): Set go_create_gogo_args embedcfg field.
315 (go_langhook_handle_option): Handle OPT_fgo_embedcfg_.
316 * gccgo.texi (Invoking gccgo): Document -fgo-embedcfg.
317
b6dd195a
GA
3182021-01-01 Jakub Jelinek <jakub@redhat.com>
319
320 * gccgo.texi: Bump @copyrights-go year.
321
077fefbf
GA
3222020-12-22 Ian Lance Taylor <iant@golang.org>
323
324 PR go/98402
325 * go-lang.c (go_langhook_init): Force MPFR exponent range to be
326 large enough to support Go constants.
327
82e5048e
GA
3282020-11-20 Jakub Jelinek <jakub@redhat.com>
329
330 PR other/97911
331 * Make-lang.in (go.serial): Change from goal to a variable.
332 (.PHONY): Drop go.serial and go.prev.
333 (go1$(exeext)): Depend on $(go.serial) rather than go.serial.
334
25bb75f8
GA
3352020-11-18 Jakub Jelinek <jakub@redhat.com>
336
337 * Make-lang.in (go.serial): New goal.
338 (.PHONY): Add go.serial go.prev.
339 (go1$(exeext)): Depend on go.prev. Call LINK_PROGRESS.
340
0f5f9ed5
GA
3412020-11-11 Alan Modra <amodra@gmail.com>
342
343 * go-gcc.cc (Gcc_backend::global_variable_set_init): Cast NULL to
344 avoid ambiguous overloaded call.
345
44cab2d8
GA
3462020-11-06 Nathan Sidwell <nathan@acm.org>
347
348 * go-gcc.cc (Gcc_backend::call_expression): Rename
349 DECL_IS_BUILTIN->DECL_IS_UNDECLARED_BUILTIN.
350
35c125cb
GA
3512020-11-04 Ian Lance Taylor <iant@golang.org>
352
353 * go-lang.c (go_langhook_post_options): Disable
354 -fipa-icf-functions if it was not explicitly enabled.
355
50a71cd0
GA
3562020-09-14 Jakub Jelinek <jakub@redhat.com>
357
358 * go-gcc.cc (Gcc_backend::function): Adjust
359 cl_optimization_save, cl_optimization_restore and
360 build_optimization_node callers.
361
84005b8a
GA
3622020-08-10 Clément Chigot <chigot.c@gmail.com>
363
364 * go-c.h (struct go_create_gogo_args): Add need_eqtype field.
365 * go-lang.c (go_langhook_init): Set need_eqtype.
366
eef00439
ILT
3672020-04-15 Ian Lance Taylor <iant@golang.org>
368
369 PR go/94607
370 * go-gcc.cc (class Gcc_backend): Define builtin_const,
371 builtin_noreturn, builtin_novops.
372 (Gcc_backend::define_builtin): Change const_p and noreturn_p
373 parameters to a single flags parameter. Change all callers.
374 (Gcc_backend::Gcc_backend): Pass novops for prefetch.
375
7e7065b9
JJ
3762020-01-01 Jakub Jelinek <jakub@redhat.com>
377
8d9254fc
JJ
378 Update copyright years.
379
7e7065b9
JJ
380 * gccgo.texi: Bump @copyrights-go year.
381
6ed76044
ML
3822019-11-12 Martin Liska <mliska@suse.cz>
383
384 * go-lang.c (go_langhook_post_options):
385 Use SET_OPTION_IF_UNSET.
386
f44526e3
ILT
3872019-09-04 Ian Lance Taylor <iant@golang.org>
388
389 PR tree-optimization/91663
390 * go-lang.c (go_langhook_post_options): Clear
391 flag_partial_inlining.
392
df375b03
JJ
3932019-08-23 Jakub Jelinek <jakub@redhat.com>
394
395 PR middle-end/91283
396 * go-lang.c (go_langhook_post_options): Set flag_excess_precision
397 instead of flag_excess_precision_cmdline.
398
e2790e1e
CZ
3992019-07-02 Cherry Zhang <cherryyz@google.com>
400
401 * go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_memset.
402
d54cf3a4
CZ
4032019-06-21 Cherry Zhang <cherryyz@google.com>
404
405 * go-gcc.cc (Gcc_backend::Gcc_backend): Define math/bits
406 builtins.
407
00a0e1f5
JW
4082019-05-30 Jim Wilson <jimw@sifive.com>
409
410 * go-gcc.cc (Gcc_backend::Gcc_backend): Add BUILT_IN_ATOMIC_FETCH_AND_1
411 and BUILT_IN_ATOMIC_FETCH_OR_1.
412
395389bf
CZ
4132019-05-16 Cherry Zhang <cherryyz@google.com>
414
415 * go-gcc.cc (Gcc_backend::Gcc_backend): Define atomic builtins.
416
fbe4e644
CZ
4172019-05-08 Cherry Zhang <cherryyz@google.com>
418
419 * go-gcc.cc (Gcc_backend::Gcc_backend): Define memmove builtin.
420
f837b9c4
CZ
4212019-05-07 Cherry Zhang <cherryyz@google.com>
422
423 * lang.opt (-fgo-debug-optimization): New option.
424 * go-c.h (struct go_create_gogo_args): Add debug_optimization
425 field.
426 * go-lang.c (go_langhook_init): Set debug_optimization field.
427 * gccgo.texi (Invoking gccgo): Document -fgo-debug-optimization.
428
c0017f91
ILT
4292019-03-06 Ian Lance Taylor <iant@golang.org>
430
431 PR go/89227
432 * go-gcc.cc (Gcc_backend::function): Set TREE_PUBLIC for an
433 only-inline function.
434
fba70f60
CZ
4352019-02-15 Cherry Zhang <cherryyz@google.com>
436
437 * go-gcc.cc (Gcc_backend::Gcc_backend): Define __builtin_dwarf_cfa
438 instead of __builtin_frame_address.
439
b90fff0c
ILT
4402019-02-14 Ian Lance Taylor <iant@golang.org>
441
442 * go-backend.c (go_imported_unsafe): Update
443 optimization_default_node.
444
0ce1c30b
ILT
4452019-02-13 Ian Lance Taylor <iant@golang.org>
446
447 * go-gcc.cc: #include "opts.h".
448 (Gcc_backend::function): Compile thunks with -Os.
449
ce4321c9
NB
4502019-02-05 Nikhil Benesch <nikhil.benesch@gmail.com>
451
ab20d992
JJ
452 PR go/89019
453 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Mark
454 placeholder structs as requiring structural equality.
455 (Gcc_backend::set_placeholder_pointer_type): Propagate the
ce4321c9
NB
456 canonical type from the desired pointer type to the placeholder
457 pointer type.
458
eea11d66
ILT
4592019-01-09 Ian Lance Taylor <iant@golang.org>
460
461 PR go/86343
462 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Go back to
463 build_distinct_type_copy, but copy the fields so that they have
464 the right DECL_CONTEXT.
465
67914693
SL
4662019-01-09 Sandra Loosemore <sandra@codesourcery.com>
467
468 PR other/16615
469
470 * go-backend.c: Mechanically replace "can not" with "cannot".
471 * go-gcc.cc: Likewise.
472
3f27508c
JJ
4732019-01-01 Jakub Jelinek <jakub@redhat.com>
474
a5544970
JJ
475 Update copyright years.
476
3f27508c
JJ
477 * gccgo.texi: Bump @copyrights-go year.
478
862ec763
ILT
4792018-11-27 Ian Lance Taylor <iant@golang.org>
480
481 * go-gcc.cc (Gcc_backend::function): Handle function_only_inline
482 flag.
483
620e594b
DM
4842018-11-13 David Malcolm <dmalcolm@redhat.com>
485
486 * go-gcc-diagnostics.cc: Replace "source_location" with "location_t".
487 * go-gcc.cc: Likewise.
488 * go-linemap.cc: Likewise.
489 * go-location.h: Likewise.
490 * gofrontend/README: Likewise.
491
964f78b7
ILT
4922018-10-31 Ian Lance Taylor <iant@golang.org>
493
494 * go-gcc.cc (Gcc_backend::write_global_definitions): Don't call
495 gimplify_function_tree. Instead call allocate_struct_function if
496 necessary.
497
a4e30bef
ILT
4982018-10-29 Ian Lance Taylor <iant@golang.org>
499
500 * go-gcc.cc (Gcc_backend::function): Change to use a single flags
501 parameter.
502
943cc2fb
ILT
5032018-10-29 Ian Lance Taylor <iant@golang.org>
504
505 * go-linemap.cc (Gcc_linemap::location_file): New method.
506
033eb567
DM
5072018-10-17 David Malcolm <dmalcolm@redhat.com>
508
509 * Make-lang.in (selftest-go): New.
510
0b7fb27b
ASJ
5112018-09-20 Allan Sandfeld Jensen <allan.jensen@qt.io>
512
513 * gospec.c (lang_specific_driver): Handle -r like -nostdlib.
514
3d78e008
ML
5152018-08-27 Martin Liska <mliska@suse.cz>
516
517 * go-gcc.cc (Gcc_backend::call_expression): Use new function
92a285c1
ML
518 fndecl_built_in_p and remove check for FUNCTION_DECL if
519 possible.
3d78e008 520
00abf86c
MS
5212018-07-20 Martin Sebor <msebor@redhat.com>
522
523 PR middle-end/82063
524 * go-lang.c (go_langhook_handle_option): Change function argument
525 to HOST_WIDE_INT.
526
a0e8e630
ILT
5272018-06-28 Ian Lance Taylor <iant@golang.org>
528
529 PR go/86343
530 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Call
531 build_variant_type_copy rather than build_distinct_type_copy.
532
88f12328
CZ
5332018-06-08 Cherry Zhang <cherryyz@google.com>
534
535 * go-gcc.cc (class Gcc_backend): Remove
536 stack_allocation_expression method.
537
3df9a1fe
ILT
5382018-02-03 Ian Lance Taylor <iant@golang.org>
539
540 * go-gcc.cc (Gcc_backend::fill_in_struct): Mark struct types as
541 using structural equality.
542
c2a0fe56
ILT
5432018-02-02 Ian Lance Taylor <iant@golang.org>
544
545 * go-gcc.cc (Gcc_backend::type_size): Return 0 for
546 void_type_node.
547 (Gcc_backend::convert_expression): Don't convert if the type of
548 expr_tree is void_type_node.
549 (Gcc_backend::array_index_expression): Don't index if the type of
550 the array expression is void_type_node.
551 (Gcc_backend::init_statement): Don't initialize if the type of the
552 initializer expression is void_type_node.
553 (Gcc_backend::assignment_statement): Don't assign if the type of
554 either the left or right hand side is void_type_node.
555 (Gcc_backend::temporary_variable): Don't initialize if the type of
556 the initializer expression is void_type_node.
557
2794baab
CZ
5582018-02-01 Cherry Zhang <cherryyz@google.com>
559
560 * lang.opt (fgo-optimize): Remove RejectNegative.
561 * go-c.h (go_enable_optimize): Update declaration to take value
562 argument.
563 * go-lang.c (go_langhook_handle_option): Pass value to
564 go_enable_optimize.
565 * gccgo.texi (Invoking gccgo): Update -fgo-optimize-allocs doc.
566
ebc2f401
ILT
5672018-01-30 Ian Lance Taylor <iant@golang.org>
568
569 * go-gcc.cc (Gcc_backend::convert_tree): New private method.
570 (Gcc_backend::constructor_expression): Call it.
571 (Gcc_backend::assignment_statement): Likewise.
572 (Gcc_backend::temporary_variable): Likewise.
573
81e0f092
CZ
5742018-01-09 Cherry Zhang <cherryyz@google.com>
575
576 * go-gcc.cc (local_variable): Add decl_var parameter.
577
594d0e51
CZ
5782018-01-09 Cherry Zhang <cherryyz@google.com>
579
580 * lang.opt (fgo-debug-escape-hash): New option.
581 * go-c.h (struct go_create_gogo_args): Add debug_escape_hash
582 field.
583 * go-lang.c (go_langhook_init): Set debug_escape_hash field.
584 * gccgo.texi (Invoking gccgo): Document -fgo-debug-escape-hash.
585
677202a2
ILT
5862018-01-05 Ian Lance Taylor <iant@golang.org>
587
588 * go-gcc.cc (Gcc_backend::Gcc_backend): Correct
589 math_function_type_long to take one argument.
590
5c0caeb3
RS
5912018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
592 Alan Hayward <alan.hayward@arm.com>
593 David Sherwood <david.sherwood@arm.com>
594
595 * go-lang.c (go_langhook_type_for_mode): Handle MODE_VECTOR_BOOL.
596
928686b1
RS
5972018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
598 Alan Hayward <alan.hayward@arm.com>
599 David Sherwood <david.sherwood@arm.com>
600
601 * go-lang.c (go_langhook_type_for_mode): Check valid_vector_subparts_p.
602
65e6aea3
JJ
6032018-01-03 Jakub Jelinek <jakub@redhat.com>
604
85ec4feb
JJ
605 Update copyright years.
606
65e6aea3
JJ
607 * gccgo.texi: Bump @copyrights-go year.
608
acdef7f8
TR
6092017-12-12 Tony Reix <tony.reix@atos.net>
610 Ian Lance Taylor <iant@golang.org>
611
612 * go-lang.c (TARGET_AIX): Define if not defined.
613 (go_langhook_init): Set nil_check_size_threshold to -1 on AIX.
614
9638589f
ILT
6152017-12-01 Ian Lance Taylor <iant@golang.org>
616
617 * go-gcc.cc (Gcc_backend::Gcc_backend): Define
618 __builtin_unreachable.
619 (Gcc_backend::function): Add does_not_return parameter.
620
92f0112c
TM
6212017-12-01 Than McIntosh <thanm@google.com>
622
623 * go-c.h (go_create_gogo_args): Add nil_check_size_threshold
624 field.
625 * go-lang.c (go_langhook_init): Set nil_check_size_threshold.
626
9e851845
JJ
6272017-11-28 Jakub Jelinek <jakub@redhat.com>
628
629 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using
630 build2_loc instead of build3_loc.
631
f60bea11
TM
6322017-11-14 Than McIntosh <thanm@google.com>
633
634 * go-gcc.cc (var_expression): Remove Varexpr_context parameter.
635
e94574b3
TR
6362017-10-11 Tony Reix <tony.reix@atos.net>
637
638 * go-system.h (__STDC_FORMAT_MACROS): Define before including any
639 system header files, as is done in ../system.h.
640
9add86be
ILT
6412017-10-05 Ian Lance Taylor <iant@golang.org>
642
643 * Make-lang.in (GO_OBJS): Add go/names.o.
644
a97390bf
RS
6452017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
646 Alan Hayward <alan.hayward@arm.com>
647 David Sherwood <david.sherwood@arm.com>
648
649 * go-lang.c (go_langhook_type_for_mode): Use is_complex_float_mode.
650
b4206259
RS
6512017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
652 Alan Hayward <alan.hayward@arm.com>
653 David Sherwood <david.sherwood@arm.com>
654
655 * go-lang.c (go_langhook_type_for_mode): Use is_int_mode.
656
e386a52f
RS
6572017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
658 Alan Hayward <alan.hayward@arm.com>
659 David Sherwood <david.sherwood@arm.com>
660
661 * go-lang.c (go_langhook_type_for_mode): Use is_float_mode.
662
577eec56
ML
6632017-08-07 Martin Liska <mliska@suse.cz>
664
665 * go-gcc.cc (Gcc_backend::function): Look up for no_split_stack
666 and not __no_split_stack__.
667
4ce21457
TR
6682017-07-27 Tony Reix <tony.reix@atos.net>
669
670 * go-backend.c (go_write_export_data): Use EXCLUDE section for
671 AIX.
672
a1f427e9
ILT
6732017-06-09 Ian Lance Taylor <iant@golang.org>
674
675 * go-lang.c (go_langhook_post_options): If -fsplit-stack is turned
676 on, disable implicit -forder-blocks-and-partition.
677
da55a299
TM
6782017-05-12 Than McIntosh <thanm@google.com>
679
680 * go-gcc.cc (Gcc_backend::call_expression): Add caller parameter.
681
be18b176
ILT
6822017-05-11 Ian Lance Taylor <iant@google.com>
683
684 PR go/64238
685 * go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
686 DECL_EXTERNAL, clear TREE_STATIC.
687
f163907e
ILT
6882017-05-10 Than McIntosh <thanm@google.com>
689
690 * go-backend.c: Include "go-c.h".
691 * go-gcc.cc (Gcc_backend::write_export_data): New method.
692
6932017-05-10 Ian Lance Taylor <iant@google.com>
694
695 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
696 __builtin_prefetch.
697 * Make-lang.in (GO_OBJS): Add go/wb.o.
698
1f599d75
TM
6992017-03-28 Than McIntosh <thanm@google.com>
700
701 PR go/80226
702 * go-gcc.cc (Gcc_backend::return_statement): Check for
703 void_type_node when checking result size.
704
db03bf50
ILT
7052017-02-20 Ian Lance Taylor <iant@golang.org>
706
707 PR go/79642
708 * lang.opt (-fgo-relative-import-path): Change space to tab.
709
a4cf4b64
RB
7102017-02-07 Richard Biener <rguenther@suse.de>
711
712 PR tree-optimization/79256
713 PR middle-end/79278
714 * go-backend.c (go_field_alignment): Adjust.
715
a2182c9c
TM
7162017-01-11 Than McIntosh <thanm@google.com>
717
718 * go-gcc.cc (conditional_expression): Add Bfunction parameter.
719
c1a9c369
JJ
7202017-01-01 Jakub Jelinek <jakub@redhat.com>
721
cbe34bb5
JJ
722 Update copyright years.
723
c1a9c369
JJ
724 * gccgo.texi: Bump @copyrights-go year.
725
8220e3f9
TM
7262016-12-16 Than McIntosh <thanm@google.com>
727
728 * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
729 parameter.
730 (Gcc_backend::init_statement): Likewise.
731 (Gcc_backend::assignment_statement): Likewise.
732 (Gcc_backend::if_statement): Likewise.
733
a5a56d88
TM
7342016-12-06 Than McIntosh <thanm@google.com>
735
736 * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
737 parameter.
738
f3878205
TM
7392016-11-22 Than McIntosh <thanm@google.com>
740
741 * go-gcc.cc (char_needs_encoding): Remove.
742 (needs_encoding, fetch_utf8_char, encode_id): Remove.
743 (Gcc_backend::global_variable): Add asm_name parameter. Don't
744 compute asm_name here.
745 (Gcc_backend::implicit_variable): Likewise.
746 (Gcc_backend::implicit_variable_reference): Likewise.
747 (Gcc_backend::immutable_struct): Likewise.
748 (Gcc_backend::immutable_struct_reference): Likewise.
749 * Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
750
9d1e3afb
ILT
7512016-11-22 Ian Lance Taylor <iant@google.com>
752
753 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
754 __builtin_frame_address.
755
4b3aaca6
DM
7562016-10-25 David Malcolm <dmalcolm@redhat.com>
757
758 * go-lang.c (go_langhook_type_for_mode): Remove redundant cast
759 from result of GET_MODE_CLASS. Minor formatting fixes.
760
4d0cdd0c
TP
7612016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
762
763 * go-backend.c: Include memmodel.h.
764
3c061ac0
TM
7652016-10-10 Than McIntosh <thanm@google.com>
766
767 * go-gcc.h: New file.
768 * go-c.h (struct go_create_gogo_args): Add backend and linemap
769 fields.
770 * go-lang.c: Include "go-gcc.h".
771 (go_langhook_init): Set linemap and backend fields of args.
772 * go-gcc.cc: Include "go-gcc.h".
773 * go-linemap.cc: Include "go-gcc.h".
774
71543388
TM
7752016-10-10 Than McIntosh <thanm@google.com>
776
777 * go-linemap.cc (Gcc_linemap::location_line): New method.
778
f47ef399
EB
7792016-10-10 Eric Botcazou <ebotcazou@adacore.com>
780
781 * config-lang.in (lang_requires_boot_languages): Delete.
782
4c4430e3
CM
7832016-10-06 Chris Manghane <cmang@google.com>
784
785 * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
786 returned memory.
787
437018ea
TM
7882016-09-27 Than McIntosh <thanm@google.com>
789
790 * go-linemap.cc (Gcc_linemap::to_string): New method.
791
56bafc49
TM
7922016-09-23 Than McIntosh <thanm@google.com>
793
794 * go-gcc-diagnostics.cc: New file.
795 * go-location.h (Location): Remove operator source_location. Add
796 operator==.
797 * go-system.h: #include <sstream>.
798 * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
799 go/go-gcc-diagnostics.o.
800 (CFLAGS-go/go-gcc-diagnostics.o): New variable.
801
fdbda43d
CM
8022016-09-23 Chris Manghane <cmang@google.com>
803
804 PR go/77701
805 * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
806 to pass arguments in the correct order.
807
0cb904af
ILT
8082016-09-22 Ian Lance Taylor <iant@golang.org>
809
810 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
811 __builtin_frame_address.
812
a8464243
ILT
8132016-09-11 Ian Lance Taylor <iant@golang.org>
814
815 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
816 ctz, ctzll, bswap32, bswap64.
817
ec1ea9cf
ILT
8182016-09-10 Ian Lance Taylor <iant@golang.org>
819
820 * go-backend.c (go_trampoline_info): Remove.
821 * go-c.h (go_trampoline_info): Don't declare.
822
34144b6e
TM
8232016-09-09 Than McIntosh <thanm@google.com>
824
825 * go-sha1.cc: New file.
826 * Make-lang.in (GO_OBJS): Add go/go-sha1.o.
827 (CFLAGS-go/go-sha1.o): New variable.
828
2adb671d
ILT
8292016-08-29 Ian Lance Taylor <iant@google.com>
830
831 * lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
832 * go-c.h (struct go_create_gogo_args): Define.
833 (go_create_gogo): Change declaration to take struct pointer.
834 * go-lang.c (go_c_header): New static variable.
835 (go_langhook_init): Update call to go_create_gogo.
836 * gccgo.texi (Invoking gccgo): Document -fgo-c-header and
837 -fgo-compiling-runtime.
838
6bbd9810
ILT
8392016-08-09 Ian Lance Taylor <iant@google.com>
840
841 * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
842 -fgo-debug-escae.
843 (Compiler Directives): New chapter.
844 (Function Names): Describe using //go:linkname. Suggest using
845 -fgo-pkgpath rather than -fgo-prefix.
846
f432d128
ILT
8472016-08-08 Ian Lance Taylor <iant@google.com>
848
849 PR go/72814
850 * go-gcc.cc (Gcc_backend::function_type): If the return type is
851 zero bytes, treat the function as returning void.
852 (return_statement): If the return type is zero bytes, don't
853 actually return any values.
854
9dcd84ec
ILT
8552016-08-05 Ian Lance Taylor <iant@google.com>
856
857 PR go/72812
858 * go-gcc.cc (char_needs_encoding): New static function.
859 (needs_encoding, fetch_utf8_char): New static functions.
860 (encode_id): New static function.
861 (Gcc_backend::global_variable): Set asm name if the name is not
862 simple ASCII.
863 (Gcc_backend::implicit_variable): Likewise.
864 (Gcc_backend::implicit_variable_reference): Likewise.
865 (Gcc_backend::immutable_struct): Likewise.
866 (Gcc_backend::immutable_struct_reference): Likewise.
867 (Gcc_backend::function): Likewise.
868
7295570d
CM
8692016-08-02 Chris Manghane <cmang@google.com>
870
871 * lang.opt: Add -fgo-debug-escape option.
872 * go-c.h (go_create_gogo): Add debug_escape_level parameter.
873 * go-lang.c (go_langhook_init): Pass go_debug_escape_level to
874 go_create_gogo.
875
2a30f87f
CM
8762016-05-06 Chris Manghane <cmang@google.com>
877
878 * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
879 new escape.cc).
880
e49aacaf
CM
8812016-04-29 Chris Manghane <cmang@google.com>
882
883 * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
884
fe37c7af
MM
8852016-04-18 Michael Matz <matz@suse.de>
886
887 * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
888
9c582551
JJ
8892016-02-12 Jakub Jelinek <jakub@redhat.com>
890
891 * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
892 neighbour -> neighbor.
893 * gccgo.texi: Likewise.
894
ede67376
ILT
8952016-01-27 Ian Lance Taylor <iant@google.com>
896
897 * go-lang.c (go_langhook_init_options_struct): Default to
898 -fkeep-gc-roots-live.
899
21fa2a29
JJ
9002016-01-04 Jakub Jelinek <jakub@redhat.com>
901
818ab71a
JJ
902 Update copyright years.
903
21fa2a29
JJ
904 * gccgo.texi: Bump @copyrights-go year.
905
399f5feb
ILT
9062015-12-21 Ian Lance Taylor <iant@google.com>
907
908 * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class. Add
909 t_ and orig_type_ fields. Add new two parameter constructor. Add
910 get_tree and get_decl methods.
911 (Gcc_backend::var_expression): Pass location to var get_tree.
912 (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR. Use
913 two parameter constructor for Bvariable.
914 (Gcc_backend::global_variable_set_init): Don't remove
915 VIEW_CONVERT_EXPR. Use var get_decl, not get_tree.
916 (Gcc_backend::write_global_definitions): Likewise.
917 (Gcc_backend::init_statement): Call var get_decl, not get_tree.
918 (Gcc_backend::block): Likewise.
919 (Gcc_backend::implicit_variable_set_init): Likewise.
920 (Gcc_backend::immutable_struct_set_init): Likewise.
921 (Gcc_backend::function_set_parameters): Likewise.
922
8fd41e92
ILT
9232015-12-21 Ian Lance Taylor <iant@google.com>
924
925 * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
926 add a VIEW_CONVERT_EXPR to the tree.
927 (Gcc_backend::global_variable_set_init): Remove any
928 VIEW_CONVERT_EXPR.
929 (Gcc_backend::write_global_definitions): Likewise.
930
6ea98dee
ILT
9312015-11-30 Ian Lance Taylor <iant@google.com>
932
933 PR go/68477
934 * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
935 TYPE_STRING_FLAG on a variant type.
936
69f293c9
AM
9372015-11-11 Andrew MacLeod <amacleod@redhat.com>
938
939 * go-backend.c: Remove unused header files.
940 * go-gcc.cc: Likewise.
941 * go-lang.c: Likewise.
942 * gospec.c: Likewise.
943
2adfab87
AM
9442015-10-29 Andrew MacLeod <amacleod@redhat.com>
945
946 * go-backend.c: Reorder #include's and remove duplicates.
947 * go-lang.c: Likewise.
948
b2e4c071
AM
9492015-10-20 Alan Modra <amodra@gmail.com>
950
951 PR go/66870
952 * gospec.c (saw_opt_m32): Rename to..
953 (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
954 Update uses.
955 (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
956
209919e2
ILT
9572015-10-01 Ian Lance Taylor <iant@google.com>
958
959 PR go/66870
960 * gospec.c (lang_specific_driver): Only look for OPT_m32 if
961 TARGET_CAN_SPLIT_STACK_64BIT is defined.
962
402565b6
LB
9632015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com>
964
965 PR target/66870
966 * gospec.c (lang_specific_driver): Set appropriate split stack
967 options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
968
ec23e5b3
CM
9692015-09-10 Chris Manghane <cmang@google.com>
970
971 * go-gcc.cc (Gcc_backend::type_size): Return -1 for
972 unrepresentable size.
973
2021ff27
MP
9742015-08-24 Marek Polacek <polacek@redhat.com>
975
976 PR tree-optimization/67284
977 * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
978 Set TREE_THIS_VOLATILE.
979 (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
980 Pass false to the rest of define_builtin calls.
981
cb3306e5
AS
9822015-07-31 Andreas Schwab <schwab@linux-m68k.org>
983
984 * go-lang.c (go_langhook_init_options_struct): Don't set
985 x_flag_split_stack.
986 (go_langhook_post_options): Set it here instead.
987
026c3cfd
AH
9882015-07-12 Aldy Hernandez <aldyh@redhat.com>
989
990 * gofrontend/backend.h: Fix double word typos.
92a285c1 991 * gofrontend/expressions.cc: Same.
026c3cfd
AH
992 * gospec.c: Same.
993
c7131fb2
AM
9942015-07-07 Andrew MacLeod <amacleod@redhat.com>
995
996 * go-backend.c: Adjust includes.
997 * go-gcc.cc: Likewise.
998 * go-lang.c: Likewise.
999
f0889939
AM
10002015-06-25 Andrew MacLeod <amacleod@redhat.com>
1001
1002 * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
1003
abb226c9
AM
10042015-06-17 Andrew MacLeod <amacleod@redhat.com>
1005
1006 * go-backend.c: Do not include input.h, line-map.h or is-a.h.
1007 * go-gcc.cc: Likewise.
1008 * go-lang.c: Likewise.
1009 * go-system.h: Likewise.
1010
13fdf2e2
AM
10112015-06-08 Andrew MacLeod <amacleod@redhat.com>
1012
1013 * go-backend.c : Adjust include files.
1014 * go-gcc.cc : Likewise.
1015 * go-lang.c : Likewise.
1016
d7438551
AH
10172015-06-05 Aldy Hernandez <aldyh@redhat.com>
1018
1019 * go-gcc.cc (write_global_definitions): Remove call to
1020 finalize_compilation_unit.
1021 Remove Go specific debug generation.
1022 * go-lang.c (go_langhook_parse_file): Call go_write_globals.
1023 (go_langhook_write_globals): Remove.
1024 Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
1025
ecb9f223
AM
10262015-06-04 Andrew MacLeod <amacleod@redhat.com>
1027
1028 * go-backend.c: Adjust includes for restructured coretypes.h.
1029 * go-c.h: Likewise.
1030 * go-gcc.cc: Likewise.
1031 * go-lang.c: Likewise.
1032
4f576c83
CM
10332015-04-30 Chris Manghane <cmang@google.com>
1034
1035 * go-gcc.cc (Gcc_backend::stack_allocation_expression): New
1036 method.
1037
46bf0b0a
JW
10382015-04-27 Jim Wilson <jim.wilson@linaro.org>
1039
1040 * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
1041
b496063d
CM
10422015-04-17 Chris Manghane <cmang@google.com>
1043
1044 * Make-lang.in (GO_OBJS): Add go/escape.o.
1045
18fbd1ec
ILT
10462015-02-02 Ian Lance Taylor <iant@google.com>
1047
1048 PR go/64836
1049 PR go/64838
1050 * go-gcc.cc (Gcc_backend::type_size): Change return type to
1051 int64_t.
1052 (Gcc_backend::type_alignment): Likewise.
1053 (Gcc_backend::type_field_alignment): Likewise.
1054 (Gcc_backend::type_field_offset): Likewise.
1055 (Gcc_backend::implicit_variable): Change alignment parameter type
1056 to int64_t.
1057
1aaecd3b
ILT
10582015-01-23 Ian Lance Taylor <iant@google.com>
1059
1060 PR go/63565
1061 * gccgo.texi (Invoking gccgo): Mention that Go programs should not
1062 be stripped.
1063
1064 * gccgo.texi (C Interoperability): Mention that people should use
1065 cgo.
1066
818424b2
ILT
10672015-01-23 Ian Lance Taylor <iant@google.com>
1068
1069 PR go/64595
1070 * go-lang.c (go_langhook_init_options_struct): Set default
1071 debug_info_level.
1072 (go_langhook_post_options): If debug_info_level is still the
1073 default, make sure write_symbols is set.
1074 * gccgo.texi (Invoking gccgo): Document that -g1 is the default.
1075
38bf819a
RH
10762015-01-16 Richard Henderson <rth@redhat.com>
1077
1078 * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
1079 (Gcc_backend::static_chain_variable): New method.
1080
bf1de3f0
ILT
10812015-01-09 Ian Lance Taylor <iant@google.com>
1082
1083 * config-lang.in (lang_dirs): Define.
1084
adfac8df
JJ
10852015-01-09 Michael Collison <michael.collison@linaro.org>
1086
1087 * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
1088 input.h, alias.h, symtab.h, options.h, fold-const.h,
1089 wide-int.h, and inchash.h due to flattening of tree.h.
1090 * go-lang.c: Ditto.
1091 * go-backend.c: Ditto.
1092
dd373780
CM
10932015-01-07 Chris Manghane <cmang@google.com>
1094
1095 PR go/61204
1096 * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
1097 zero-sized variable.
1098
861393ac
CM
10992015-01-06 Chris Manghane <cmang@google.com>
1100
dd373780
CM
1101 * go-gcc.cc (Gcc_backend::constructor_expression): Don't
1102 initialize zero-sized fields, just evaluate the values for side
1103 effects.
861393ac 1104
b67cd4e3
JJ
11052015-01-05 Jakub Jelinek <jakub@redhat.com>
1106
5624e564
JJ
1107 Update copyright years.
1108
b67cd4e3
JJ
1109 * gccgo.texi: Bump @copyrights-go year.
1110
943cf9cf
CM
11112014-12-19 Chris Manghane <cmang@google.com>
1112
dd373780
CM
1113 * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
1114 construct arrays of zero-sized values.
943cf9cf 1115
ef4bddc2
RS
11162014-10-29 Richard Sandiford <richard.sandiford@arm.com>
1117
1118 * go-lang.c: Remove redundant enum from machine_mode.
1119
c582198b
AM
11202014-10-28 Andrew MacLeod <amacleod@redhat.com>
1121
1122 * go-gcc.cc: Adjust include files.
1123
60393bbc
AM
11242014-10-27 Andrew MacLeod <amacleod@redhat.com>
1125
1126 * go-gcc.cc: Adjust include files.
1127 * go-lang.c: Ditto.
1128
5eda5bad
ILT
11292014-10-23 Ian Lance Taylor <iant@google.com>
1130
1131 * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
1132 mpc_t parameter instead of two mpfr_t parameters.
1133
717c4789
JJ
11342014-09-15 Jakub Jelinek <jakub@redhat.com>
1135
1136 * Make-lang.in (check_go_parallelize): Change to just an upper bound
1137 number.
1138
f1d2ac4f
CM
11392014-09-03 Chris Manghane <cmang@google.com>
1140
1141 * go-gcc.cc (Gcc_backend::implicit_variable): Remove init
1142 parameter. Add is_hidden parameter.
1143 (Gcc_backend::implicit_variable_set_init): New method.
1144 (Gcc_backend::implicit_variable_reference): New method.
1145
ff09769f
ILT
11462014-08-08 Ian Lance Taylor <iant@google.com>
1147
1148 * go-gcc.cc (Gcc_backend::compound_statement): Don't return
1149 NULL_TREE.
1150
0ffc395f
UB
11512014-07-24 Uros Bizjak <ubizjak@gmail.com>
1152
1153 * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
1154 symtab_get_node to symtab_node::get.
1155
bbeaf05d
ILT
11562014-06-13 Ian Lance Taylor <iant@google.com>
1157
1158 PR go/61496
1159 * gospec.c (lang_specific_driver): On Solaris, when not using GNU
1160 ld, add -t option to avoid warning about common symbol changing
1161 size.
1162
e257a17c
JH
11632014-06-10 Jan Hubicka <hubicka@ucw.cz>
1164
0ffc395f 1165 * go-gcc.cc (Gcc_backend::global_variable_set_init): Use
e257a17c
JH
1166 symtab_get_node(var_decl)->implicit_section.
1167
24d047a3
JH
11682014-06-07 Jan Hubicka <hubicka@ucw.cz>
1169
1170 * go-gcc.cc (global_variable_set_init): Use
1171 set_decl_section_name.
1172
bae90c98
ILT
11732014-06-04 Ian Lance Taylor <iant@google.com>
1174
1175 * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
1176 alignment parameters. Permit init parameter to be NULL.
1177
9b2b7279
AM
11782014-06-02 Andrew MacLeod <amacleod@redhat.com>
1179
1180 * go-gcc.cc: Include builtins.h.
1181
766090c2
TS
11822014-05-17 Trevor Saunders <tsaunders@mozilla.com>
1183
1184 * go-lang.c (struct GTY): Don't use variable_size gty attribute.
1185
6f7e0b57
CM
11862014-05-06 Chris Manghane <cmang@google.com>
1187
1188 * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
1189 (Gcc_backend::boolean_constant_expression): New method.
1190 (Gcc_backend::zero_expression): Use this->make_expression rather
1191 than tree_to_expr.
1192 (Gcc_backend::var_expression): Likewise.
1193 (Gcc_backend::integer_constant_expression): Likewise.
1194 (Gcc_backend::float_constant_expression): Likewise.
1195 (Gcc_backend::complex_constant_expression): Likewise.
1196 (Gcc_backend::struct_field_expression): Likewise.
1197 (tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
1198 (tree_to_function, tree_to_block): Remove functions.
1199 (type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
1200 (block_to_tree, var_to_tree, function_to_tree): Remove functions.
1201
1d60af08
KZ
12022014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
1203 Mike Stump <mikestump@comcast.net>
1204 Richard Sandiford <rdsandiford@googlemail.com>
1205
1206 * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
1207
6122336c
CM
12082014-05-06 Chris Manghane <cmang@google.com>
1209
1210 * go-c.h (go_create_gogo): Update declaration to add
1211 check_divide_zero and check_divide_overflow parameters.
1212 * go-lang.c (go_langhook_init): Pass new arguments to
1213 go_create_gogo.
1214
fb930306
CM
12152014-05-05 Chris Manghane <cmang@google.com>
1216
1217 * go-gcc.cc (Gcc_backend::implicit_variable): Rename from
1218 gc_root_variable. Add name and is_constant parameters.
1219
3e7b0938
CM
12202014-05-05 Chris Manghane <cmang@google.com>
1221
1222 * go-gcc.cc (Gcc_backend::indirect_expression): Add btype
1223 parameter.
1224 (Gcc_backend::temporary_variable): Check for erroneous function.
1225
d2d9bc36
CM
12262014-04-30 Chris Manghane <cmang@google.com>
1227
1228 * go-backend.c: #include "diagnostics.h".
1229 (saw_errors): New function.
1230 * go-c.h (saw_errors): Declare.
1231 * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
1232
ad5b68e0
CM
12332014-04-30 Chris Manghane <cmang@google.com>
1234
1235 * go-lang.c (go_langhook_type_for_size): Do it here, rather than
1236 calling into Go frontend.
1237 (go_langhook_type_for_mode): Likewise.
1238 * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
1239
90cbaa29
CM
12402014-04-30 Chris Manghane <cmang@google.com>
1241
1242 * go-gcc.cc: #include "langhooks.h".
1243 (Gcc_backend::Gcc_backend): Add constructor.
1244 (Gcc_backend::lookup_function): New function.
1245 (Gcc_backend::define_builtin): New private function.
1246 (Gcc_backend::gcc_backend): Remove.
1247 (go_get_backend): Use new to create new Gcc_backend.
1248
036165d8
CM
12492014-04-25 Chris Manghane <cmang@google.com>
1250
1251 * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
1252 (Gcc_backend::return_statement): Push and pop function.
1253 (Gcc_backend::label): Likewise.
1254 (Gcc_backend::function_defer_statement): Likewise.
1255 (Gcc_backend::switch_statement): Add function parameter.
1256 (Gcc_backend::block): Don't permit function to be NULL.
1257 (Gcc_backend::temporary_variable): Change go_assert to
1258 gcc_assert.
1259 (Gcc_backend::gc_root_variable): New function.
1260 (Gcc_backend::write_global_definitions): New function.
1261
aa492920
CM
12622014-04-22 Chris Manghane <cmang@google.com>
1263
1264 * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
1265 call to create_tmp_var. Require that function be non-NULL.
1266
e85baec7
CM
12672014-04-17 Chris Manghane <cmang@google.com>
1268
1269 * go-gcc.cc (Gcc_backend::named_constant_expression): New
1270 function.
1271
7035307e
CM
12722014-04-14 Chris Manghane <cmang@google.com>
1273
1274 * go-gcc.cc: Include "convert.h".
1275 (Gcc_backend::string_constant_expression): New function.
1276 (Gcc_backend::real_part_expression): Likewise.
1277 (Gcc_backend::imag_part_expression): Likewise.
1278 (Gcc_backend::complex_expression): Likewise.
1279 (Gcc_backend::constructor_expression): Likewise.
1280 (Gcc_backend::array_constructor_expression): Likewise.
1281 (Gcc_backend::pointer_offset_expression): Likewise.
1282 (Gcc_backend::array_index_expression): Likewise.
1283 (Gcc_backend::call_expression): Likewise.
1284 (Gcc_backend::exception_handler_statement): Likewise.
1285 (Gcc_backend::function_defer_statement): Likewise.
1286 (Gcc_backend::function_set_parameters): Likewise.
1287 (Gcc_backend::function_set_body): Likewise.
1288 (Gcc_backend::convert_expression): Handle various type
1289 conversions.
1290
915182a0
ILT
12912014-03-03 Ian Lance Taylor <iant@google.com>
1292
1293 * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
1294 DECL_WEAK.
1295 (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
1296 DECL_WEAK.
1297
8a35e18d
CM
12982014-01-24 Chris Manghane <cmang@google.com>
1299
1300 * go-gcc.cc (Gcc_backend::unary_expression): New function.
1301
b5407ad1
CM
13022014-01-16 Chris Manghane <cmang@google.com>
1303
1304 * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
1305 parameter.
1306 (operator_to_tree_code): New static function.
1307 (Gcc_backend::binary_expression): New function.
1308
eb6eb862
CM
13092014-01-14 Chris Manghane <cmang@google.com>
1310
1311 * go-gcc.cc (Gcc_backend::compound_expression): New function.
1312 (Gcc_backend::conditional_expression): New function.
1313
23a5b65a
RS
13142014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
1315
1316 Update copyright years
1317
98db73df 13182014-01-02 Tobias Burnus <burnus@net-b.de>
71eba7a0 1319
0ffc0b3b
JJ
1320 * gccgo.texi: Bump @copying's copyright year.
1321
13222013-12-16 Chris Manghane <cmang@google.com>
1323
1324 * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
1325
13262013-12-11 Ian Lance Taylor <iant@google.com>
1327
1328 * go-lang.c (go_langhook_post_options): Disable sibling calls by
1329 default.
1330
13312013-12-10 Ian Lance Taylor <iant@google.com>
1332
1333 * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
1334 separately.
1335
13362013-12-05 Ian Lance Taylor <iant@google.com>
1337
1338 Revert this change; no longer required.
1339 2013-11-06 Ian Lance Taylor <iant@google.com>
1340
1341 * go-lang.c (go_langhook_post_options): If
1342 -fisolate-erroneous-paths was turned on by an optimization option,
1343 turn it off.
1344
13452013-11-23 Ian Lance Taylor <iant@google.com>
1346
1347 * go-gcc.cc (Gcc_backend::function_type): Add result_struct
1348 parameter.
1349
13502013-11-22 Andrew MacLeod <amacleod@redhat.com>
1351
1352 * go-gcc.cc: Add required include files from gimple.h.
ab20d992 1353 * go-lang.c: Likewise.
0ffc0b3b
JJ
1354
13552013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1356
1357 * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
1358 tree_to_shwi throughout.
1359
13602013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
1361
1362 * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
1363 tree_fits_shwi_p throughout.
1364
13652013-11-14 Andrew MacLeod <amacleod@redhat.com>
1366
1367 * go-lang.c: Include only gimplify.h and gimple.h as needed.
1368
13692013-11-14 Diego Novillo <dnovillo@google.com>
1370
1371 * go-backend.c: Include stor-layout.h.
1372 * go-gcc.cc: Include stringpool.h.
1373 Include stor-layout.h.
1374 Include varasm.h.
1375 * go-lang.c: Include stor-layout.h.
1376
13772013-11-12 Andrew MacLeod <amacleod@redhat.com>
1378
1379 * go-lang.c: Include gimplify.h.
1380
13812013-11-06 Ian Lance Taylor <iant@google.com>
1382
1383 * go-lang.c (go_langhook_post_options): If
1384 -fisolate-erroneous-paths was turned on by an optimization option,
1385 turn it off.
1386
13872013-10-14 Chris Manghane <cmang@google.com>
1388
1389 * go-gcc.cc (Gcc_backend::address_expression): New function.
1390
13912013-10-11 Chris Manghane <cmang@google.com>
1392
1393 * go-gcc.cc (Gcc_backend::function_code_expression): New
1394 function.
1395
13962013-10-10 Chris Manghane <cmang@google.com>
1397
1398 * go-gcc.cc (Gcc_backend::error_function): New function.
1399 (Gcc_backend::function): New function.
1400 (Gcc_backend::make_function): New function.
1401 (function_to_tree): New function.
1402
14032013-10-04 Chris Manghane <cmang@google.com>
1404
1405 * go-gcc.cc (Gcc_backend::convert_expression): New function.
1406
14072013-10-02 Chris Manghane <cmang@google.com>
1408
1409 * go-gcc.cc: Include "real.h" and "realmpfr.h".
1410 (Gcc_backend::integer_constant_expression): New function.
1411 (Gcc_backend::float_constant_expression): New function.
1412 (Gcc_backend::complex_constant_expression): New function.
1413
14142013-09-30 Chris Manghane <cmang@google.com>
1415
1416 * go-gcc.cc (Gcc_backend::error_expression): New function.
1417 (Gcc_backend::var_expression): New function.
1418 (Gcc_backend::indirect_expression): New function.
1419
14202013-09-25 Tom Tromey <tromey@redhat.com>
1421
1422 * Make-lang.in (gospec.o): Remove.
1423 (CFLAGS-go/gospec.o): New variable.
1424 (GCCGO_OBJS): Update to use go/gospec.o.
1425 (go_OBJS): Define.
1426 (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
1427 (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
1428 (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
1429 (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
1430 (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
1431 (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
1432 (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
1433 (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
1434 (go/unsafe.o): Remove.
1435 (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
1436 (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
1437
14382013-09-25 Tom Tromey <tromey@redhat.com>
1439
1440 * Make-lang.in (gospec.o): Don't use subshell.
1441
14422013-08-28 Ian Lance Taylor <iant@google.com>
1443
1444 * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
1445 the struct is not hidden.
1446 (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
1447
14482013-08-06 Ian Lance Taylor <iant@google.com>
1449
1450 * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
1451 compute_reloc_for_constant.
1452
14532013-08-02 Ian Lance Taylor <iant@google.com>
1454
1455 * go-gcc.cc (immutable_struct_set_init): Always call
1456 resolve_unique_section.
1457
14582013-07-24 Ian Lance Taylor <iant@google.com>
1459
1460 * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
1461 fields, recreate those fields with the first one with a non-zero
1462 size.
1463
14642013-07-23 Ian Lance Taylor <iant@google.com>
1465
1466 * go-backend.c: Don't #include "rtl.h".
1467 (go_imported_unsafe): Don't call init_varasm_once.
1468 * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
1469
14702013-07-23 Ian Lance Taylor <iant@google.com>
1471
1472 * go-lang.c: Don't #include "except.h".
1473 * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
1474
14752013-06-18 Ian Lance Taylor <iant@google.com>
1476
1477 * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
1478 parameter.
1479 (Gcc_backend::immutable_struct_set_init): Likewise.
1480
14812013-05-16 Jason Merrill <jason@redhat.com>
1482
1483 * Make-lang.in (go1$(exeext)): Use link mutex.
1484
14852013-01-16 Shenghou Ma <minux.ma@gmail.com>
1486
1487 * gospec.c: pass -u pthread_create to linker when static linking.
1488
14892012-12-21 Ian Lance Taylor <iant@google.com>
1490
1491 PR bootstrap/54659
1492 * go-system.h: Don't include <cstdio>.
1493
14942012-12-18 Ian Lance Taylor <iant@google.com>
1495
1496 PR go/55201
1497 * gospec.c: Revert last patch.
1498
14992012-12-18 Andreas Schwab <schwab@linux-m68k.org>
1500
1501 PR go/55201
1502 * gospec.c (LIBATOMIC): Define.
1503 (LIBATOMIC_PROFILE): Define.
1504 (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
1505
15062012-11-29 Ian Lance Taylor <iant@google.com>
1507
1508 * go-gcc.cc: Include "output.h".
1509 (global_variable): Add is_unique_section parameter.
1510 (global_variable_set_init): Adjust unique section if necessary.
1511 * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
1512
15132012-11-17 Diego Novillo <dnovillo@google.com>
1514
1515 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1516
1517 * go-lang.c: Use new vec API in vec.h.
1518
15192012-11-16 Ian Lance Taylor <iant@google.com>
1520
1521 * Make-lang.in (gccgo$(exeext)): Add + at start of command.
1522 (go1$(exeext)): Likewise.
1523
15242012-10-30 Ian Lance Taylor <iant@google.com>
1525
1526 * lang.opt (-fgo-relative-import-path): New option.
1527 * go-lang.c (go_relative_import_path): New static variable.
1528 (go_langhook_init): Pass go_relative_import_path to
1529 go_create_gogo.
1530 (go_langhook_handle_option): Handle -fgo-relative-import-path.
1531 * go-c.h (go_create_gogo): Update declaration.
1532 * gccgo.texi (Invoking gccgo): Document
1533 -fgo-relative-import-path.
1534
15352012-09-17 Ian Lance Taylor <iant@google.com>
1536
1537 * config-lang.in (target_libs): Add target-libbacktrace.
1538
15392012-09-16 Ian Lance Taylor <iant@google.com>
1540
1541 * Make-lang.in (go/gogo.o): Depend on filenames.h.
1542
15432012-08-14 Diego Novillo <dnovillo@google.com>
1544
1545 Merge from cxx-conversion branch. Configury.
1546
1547 * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
1548 * go-gcc.cc: Likewise.
1549 * go-system.h: Likewise.
1550
15512012-07-24 Uros Bizjak <ubizjak@gmail.com>
1552
1553 * go-lang.c (lang_decl): Add variable_size GTY option.
1554
15552012-05-09 Ian Lance Taylor <iant@google.com>
1556
1557 * lang.opt: Add -fgo-pkgpath.
1558 * go-lang.c (go_pkgpath): New static variable.
1559 (go_prefix): New static variable.
1560 (go_langhook_init): Pass go_pkgpath and go_prefix to
1561 go_create_gogo.
1562 (go_langhook_handle_option): Handle -fgo-pkgpath. Change
1563 -fgo-prefix handling to just set go_prefix.
1564 * go-c.h (go_set_prefix): Don't declare.
1565 (go_create_gogo): Add pkgpath and prefix to declaration.
1566 * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
1567 to pkgpath. Don't include the package name in the asm name.
1568 * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the
1569 docs for -fgo-prefix.
1570
15712012-04-23 Ian Lance Taylor <iant@google.com>
1572
1573 * go-lang.c (go_langhook_init): Set MPFR precision to 256.
1574
15752012-04-20 Ian Lance Taylor <iant@google.com>
1576
1577 * lang.opt: Add -fgo-check-divide-zero and
1578 -fgo-check-divide-overflow.
1579 * gccgo.texi (Invoking gccgo): Document new options.
1580
15812012-04-18 Steven Bosscher <steven@gcc.gnu.org>
1582
1583 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
1584 with NULL_TREE type instead of void_type_node.
1585
15862012-03-09 Ian Lance Taylor <iant@google.com>
1587
1588 * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
1589 to the lhs type if necessary.
1590
15912012-03-08 Ian Lance Taylor <iant@google.com>
1592
1593 * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
1594 zero-sized variable.
1595 (go_non_zero_struct): New global variable.
1596 (Gcc_backend::non_zero_size_type): New function.
1597 (Gcc_backend::global_variable): Don't build an assignment for a
1598 zero-sized value.
1599 * go-c.h (go_non_zero_struct): Declare.
1600 * config-lang.in (gtfiles): Add go-c.h.
1601
16022012-02-29 Ian Lance Taylor <iant@google.com>
1603
1604 * go-gcc.cc (class Gcc_tree): Add set_tree method.
1605 (set_placeholder_pointer_type): When setting to a pointer to
1606 error, set to error_mark_node.
1607
16082012-02-23 Richard Guenther <rguenther@suse.de>
1609
1610 * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
1611 build_distinct_type_copy.
1612
16132012-02-17 Ian Lance Taylor <iant@google.com>
1614
1615 * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
1616
16172012-02-17 Ian Lance Taylor <iant@google.com>
1618
1619 * gospec.c (lang_specific_driver): If linking, and no -o option
1620 was used, add one.
1621
16222012-02-14 Ian Lance Taylor <iant@google.com>
1623
1624 PR go/48411
1625 * Make-lang.in (gccgo-cross$(exeext)): New target.
1626 (go.all.cross): Depend on gccgo-cross$(exeext) instead of
1627 gccgo$(exeext).
1628 (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
1629 gccgo-cross$(exeext) does not exist.
1630
16312012-02-07 Ian Lance Taylor <iant@google.com>
1632
1633 * gccgo.texi (Function Names): Document //extern instead of
1634 __asm__.
1635
16362012-02-01 Jakub Jelinek <jakub@redhat.com>
1637
1638 PR target/52079
1639 * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
1640 return build_nonstandard_integer_type result if possible.
1641
16422012-01-21 Ian Lance Taylor <iant@google.com>
1643
1644 * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
1645 (Gcc_backend::type_alignment): Likewise.
1646 (Gcc_backend::type_field_alignment): Likewise.
1647 (Gcc_backend::type_field_offset): Likewise.
1648
16492012-01-20 Ian Lance Taylor <iant@google.com>
1650
1651 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
1652 be empty.
1653 (Gcc_backend::set_placeholder_struct_type): Likewise.
1654
16552012-01-17 Ian Lance Taylor <iant@google.com>
1656
1657 * gospec.c (lang_specific_driver): If we see -S without -o, add -o
1658 BASE.s rather than -o BASE.o.
1659
16602012-01-11 Ian Lance Taylor <iant@google.com>
1661
1662 * go-lang.c (go_langhook_init): Initialize void_list_node before
1663 calling go_create_gogo.
1664
16652012-01-10 Ian Lance Taylor <iant@google.com>
1666
1667 * go-gcc.cc (Gcc_backend::type_size): New function.
1668 (Gcc_backend::type_alignment): New function.
1669 (Gcc_backend::type_field_alignment): New function.
1670 (Gcc_backend::type_field_offset): New function.
1671 * go-backend.c (go_type_alignment): Remove.
1672 * go-c.h (go_type_alignment): Don't declare.
1673
16742011-12-27 Ian Lance Taylor <iant@google.com>
1675
1676 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
1677 build_distinct_type_copy rather than build_variant_type_copy.
1678 (Gcc_backend::set_placeholder_array_type): Likewise.
1679 (Gcc_backend::named_type): Add special handling for builtin
1680 basic types.
1681
16822011-12-22 Ian Lance Taylor <iant@google.com>
1683
1684 * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
1685 for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
1686 (Gcc_backend::set_placeholder_struct_type): Likewise.
1687 (Gcc_backend::set_placeholder_array_type): Likewise.
1688 (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
1689
16902011-12-13 Ian Lance Taylor <iant@google.com>
1691
1692 * go-backend.c: #include "simple-object.h" and "intl.h".
1693 (GO_EXPORT_SEGMENT_NAME): Define if not defined.
1694 (GO_EXPORT_SECTION_NAME): Likewise.
1695 (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
1696 (go_read_export_data): New function.
1697 * go-c.h (go_read_export_data): Declare.
1698
16992011-11-29 Sanjoy Das <thedigitalangel@gmail.com>
1700 Ian Lance Taylor <iant@google.com>
1701
1702 * go-location.h: New file.
1703 * go-linemap.cc: New file.
1704 * go-gcc.cc: Change all uses of source_location to Location.
1705 * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1706 (GO_LINEMAP_H): New variable.
1707 (GO_LEX_H): Use $(GO_LINEMAP_H).
1708 (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1709 (go/go-linemap.o): New target.
1710
17112011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1712
1713 * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1714
17152011-08-24 Roberto Lublinerman <rluble@gmail.com>
1716
1717 * lang.opt: Add fgo-optimize-.
1718 * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1719 * go-c.h (go_enable_optimize): Declare.
1720 * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1721 (GO_EXPORT_H): Define.
1722 (GO_IMPORT_H): Add $(GO_EXPORT_H).
1723 (GO_AST_DUMP_H): Define.
1724 (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1725 (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1726 (go/types.o): Likewise.
1727 (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1728 (go/go-optimize.o): New target.
1729
17302011-08-24 Joseph Myers <joseph@codesourcery.com>
1731
1732 * Make-lang.in (CFLAGS-go/go-lang.o): New.
1733 (go/go-lang.o): Remove explicit compilation rule.
1734
17352011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1736
1737 * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1738
17392011-08-02 Roberto Lublinerman <rluble@gmail.com>
1740
1741 * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1742 (go/ast-dump.o): New target.
1743 (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1744 (go/statements.o): Likewise.
1745
17462011-07-06 Richard Guenther <rguenther@suse.de>
1747
1748 * go-lang.c (go_langhook_init):
1749 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1750
17512011-06-14 Joseph Myers <joseph@codesourcery.com>
1752
1753 * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1754 dependencies.
1755 * go-backend.c: Include common/common-target.h.
1756 (go_write_export_data): Use targetm_common.have_named_sections.
1757 * go-lang.c: Include common/common-target.h.
1758 (go_langhook_init_options_struct): Use
1759 targetm_common.supports_split_stack.
1760
17612011-06-13 Ian Lance Taylor <iant@google.com>
1762
1763 * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1764
17652011-06-10 Ian Lance Taylor <iant@google.com>
1766
1767 * go-gcc.cc: Include "toplev.h".
1768 (Gcc_backend::immutable_struct): New function.
1769 (Gcc_backend::immutable_struct_set_init): New function.
1770 (Gcc_backend::immutable_struct_reference): New function.
1771 * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1772
17732011-06-09 Ian Lance Taylor <iant@google.com>
1774
1775 * go-gcc.cc (Gcc_backend::zero_expression): New function.
1776
17772011-06-07 Richard Guenther <rguenther@suse.de>
1778
1779 * go-lang.c (go_langhook_init): Do not set
1780 size_type_node or call set_sizetype.
1781
17822011-05-27 Ian Lance Taylor <iant@google.com>
1783
1784 * go-backend.c: Include "output.h".
1785 (go_write_export_data): New function.
1786 * go-c.h (go_write_export_data): Declare.
1787 * Make-lang.in (go/go-backend.o): Depend on output.h.
1788 (go/export.o): Depend on $(GO_C_H). Do not depend on
1789 $(MACHMODE_H), output.h, or $(TARGET_H).
1790
17912011-05-24 Joseph Myers <joseph@codesourcery.com>
1792
1793 * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1794 (gccgo$(exeext)): Use libcommon-target.a.
1795
17962011-05-20 Joseph Myers <joseph@codesourcery.com>
1797
1798 * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1799
18002011-05-13 Ian Lance Taylor <iant@google.com>
1801
1802 * go-gcc.cc (Gcc_backend::function_type): When building a struct
1803 for multiple results, check that all fields types have a size.
1804 (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1805
18062011-05-12 Ian Lance Taylor <iant@google.com>
1807
1808 * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1809 parameter.
1810 (Gcc_backend::parameter_variable): Likewise.
1811
18122011-05-07 Eric Botcazou <ebotcazou@adacore.com>
1813
1814 * go-lang.c (global_bindings_p): Return bool and simplify.
1815
18162011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1817
1818 * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1819
18202011-05-04 Ian Lance Taylor <iant@google.com>
1821
1822 * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1823 (Gcc_backend::fill_in_struct): New function.
1824 (Gcc_backend::array_type): Implement.
1825 (Gcc_backend::fill_in_array): New function.
1826 (Gcc_backend::placeholder_pointer_type): New function.
1827 (Gcc_backend::set_placeholder_pointer_type): New function.
1828 (Gcc_backend::set_placeholder_function_type): New function.
1829 (Gcc_backend::placeholder_struct_type): New function.
1830 (Gcc_backend::set_placeholder_struct_type): New function.
1831 (Gcc_backend::placeholder_array_type): New function.
1832 (Gcc_backend::set_placeholder_array_type): New function.
1833 (Gcc_backend::named_type): New function.
1834 (Gcc_backend::circular_pointer_type): New function.
1835 (Gcc_backend::is_circular_pointer_type): New function.
1836
18372011-04-26 Ian Lance Taylor <iant@google.com>
1838
1839 * go-gcc.cc (Gcc_backend::struct_type): Implement.
1840
18412011-04-25 Ian Lance Taylor <iant@google.com>
1842
1843 * go-gcc.cc (Gcc_backend::error_type): Implement.
1844 (Gcc_backend::string_type): Remove.
1845 (Gcc_backend::function_type): Change signature and implement.
1846 (Gcc_backend::struct_type): Change signature.
1847 (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1848 (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1849 (Gcc_backend::pointer_type): Check for error.
1850 * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1851
18522011-04-25 Evan Shaw <edsrzf@gmail.com>
1853
1854 * go-gcc.c (class Gcc_tree): Make get_tree const.
1855 (Gcc_backend::void_type): Implement.
1856 (Gcc_backend::bool_type): Implement.
1857 (Gcc_backend::integer_type): Implement.
1858 (Gcc_backend::float_type): Implement.
1859 (Gcc_backend::complex_type): New function.
1860 (Gcc_backend::pointer_type): New function.
1861 (Gcc_backend::make_type): New function.
1862 (type_to_tree): New function.
1863
18642011-04-21 Ian Lance Taylor <iant@google.com>
1865
1866 * go-system.h (go_assert, go_unreachable): Define.
1867
18682011-04-19 Ian Lance Taylor <iant@google.com>
1869
1870 * go-system.h: Include "intl.h".
1871 * Make-lang.in (GO_SYSTEM_H): Add intl.h.
1872 (go/statements.o): Remove dependencies on intl.h $(TREE_H)
1873 $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1874
18752011-04-19 Ian Lance Taylor <iant@google.com>
1876
1877 * go-gcc.cc (Gcc_backend::temporary_variable): New function.
1878
18792011-04-19 Ian Lance Taylor <iant@google.com>
1880
1881 * go-gcc.cc (class Bblock): Define.
1882 (Gcc_backend::if_statement): Change then_block and else_block to
1883 Bblock*.
1884 (Gcc_backend::block): New function.
1885 (Gcc_backend::block_add_statements): New function.
1886 (Gcc_backend::block_statement): New function.
1887 (tree_to_block, block_to_tree): New functions.
1888
18892011-04-18 Ian Lance Taylor <iant@google.com>
1890
1891 * go-gcc.cc: Include "go-c.h".
1892 (class Bvariable): Define.
1893 (Gcc_backend::init_statement): New function.
1894 (Gcc_backend::global_variable): New function.
1895 (Gcc_backend::global_variable_set_init): New function.
1896 (Gcc_backend::local_variable): New function.
1897 (Gcc_backend::parameter_variable): New function.
1898 (tree_to_type, var_to_tree): New functions.
1899 * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1900 * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1901
19022011-04-15 Ian Lance Taylor <iant@google.com>
1903
1904 * go-gcc.cc (Gcc_backend::compound_statement): New function.
1905 (Gcc_backend::assignment_statement): Use error_statement.
1906 (Gcc_backend::return_statement): Likewise.
1907 (Gcc_backend::if_statement): Likewise.
1908 (Gcc_backend::switch_statement): Likewise.
1909 (Gcc_backend::statement_list): Likewise.
1910
19112011-04-14 Ian Lance Taylor <iant@google.com>
1912
1913 * go-gcc.cc (Gcc_backend::error_statement): New function.
1914
19152011-04-13 Ian Lance Taylor <iant@google.com>
1916
1917 * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1918
19192011-04-13 Ian Lance Taylor <iant@google.com>
1920
1921 * Make-lang.in (GO_OBJS): Add go/runtime.o.
1922 (GO_RUNTIME_H): New variable.
1923 (go/runtime.o): New target.
1924 (go/gogo.o): Depend on $(GO_RUNTIME_H).
1925 (go/statements.o): Likewise.
1926
19272011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1928
1929 * go-lang.c (union lang_tree_node): Check for TS_COMMON before
1930 calling TREE_CHAIN.
1931
19322011-04-06 Ian Lance Taylor <iant@google.com>
1933
1934 * go-gcc.cc (if_statement): Use build3_loc.
1935 (Gcc_backend::switch_statement): New function.
1936 (Gcc_backend::statement_list): New function.
1937
19382011-04-06 Ian Lance Taylor <iant@google.com>
1939
1940 * go-gcc.cc (Gcc_backend::if_statement): New function.
1941 (tree_to_stat): New function.
1942 (expr_to_tree): Renamed from expression_to_tree.
1943 (stat_to_tree): Renamed from statement_to_tree.
1944
19452011-04-06 Ian Lance Taylor <iant@google.com>
1946
1947 * go-gcc.cc (Gcc_backend::expression_statement): New function.
1948
19492011-04-04 Ian Lance Taylor <iant@google.com>
1950
1951 * go-gcc.c (class Blabel): Define.
1952 (Gcc_backend::make_expression): New function.
1953 (get_identifier_from_string): New function.
1954 (Gcc_backend::label): New function.
1955 (Gcc_backend::label_definition_statement): New function.
1956 (Gcc_backend::goto_statement): New function.
1957 (Gcc_backend::label_address): New function.
1958 (expression_to_tree): New function.
1959 * Make-lang.in (go/expressions.o): Depend on
1960 go/gofrontend/backend.h.
1961 (go/gogo.o): Likewise.
1962
19632011-04-04 Ian Lance Taylor <iant@google.com>
1964
1965 * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1966 (class Bfunction): Define.
1967 (Gcc_backend::assignment_statement): Rename from assignment.
1968 Check for errors.
1969 (Gcc_backend::return_statement): New function.
1970 (tree_to_function): New function.
1971 * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1972 $(GIMPLE_H), and $(GO_GOGO_H).
1973
19742011-04-03 Ian Lance Taylor <iant@google.com>
1975
1976 * go-gcc.cc: New file.
1977 * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1978 (go/go-gcc.o): New target.
1979 (go/go.o): Depend on go/gofrontend/backend.h.
1980 (go/statements.o): Likewise.
1981
19822011-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1983
1984 * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1985
19862011-02-08 Ian Lance Taylor <iant@google.com>
1987
1988 * go-lang.c (go_langhook_init_options_struct): Set
1989 frontend_set_flag_errno_math. Don't set x_flag_trapping_math.
1990
19912011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1992
1993 * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1994 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1995
19962011-01-21 Ian Lance Taylor <iant@google.com>
1997
1998 * go-lang.c (go_langhook_init): Omit float_type_size when calling
1999 go_create_gogo.
2000 * go-c.h: Update declaration of go_create_gogo.
2001
20022011-01-13 Ian Lance Taylor <iant@google.com>
2003
2004 * go-backend.c: Include "rtl.h" and "target.h".
2005 (go_imported_unsafe): New function.
2006 * go-c.h (go_imported_unsafe): Declare.
2007 * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
2008 (go/gogo-tree.o): Remove dependency on $(RTL_H).
2009 (go/unsafe.o): Depend on $(GO_C_H).
2010
20112010-12-31 Joern Rennecke <amylaar@spamcop.net>
2012
2013 PR go/47113
2014 * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
2015 variable ‘field’ .
2016
20172010-12-21 Ian Lance Taylor <iant@google.com>
2018
2019 * Make-lang.in (check-go): Remove.
2020 (lang_checks_parallelized): Add check-go.
2021 (check_go_parallelize): Set.
2022
20232010-12-13 Ian Lance Taylor <iant@google.com>
2024
2025 * gospec.c (lang_specific_driver): Add a -o option if not linking
2026 and there is no -o option already.
2027
20282010-12-07 Ian Lance Taylor <iant@google.com>
2029
2030 PR tree-optimization/46805
2031 PR tree-optimization/46833
2032 * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
2033
20342010-12-06 Ian Lance Taylor <iant@google.com>
2035
2036 PR other/46789
2037 PR bootstrap/46812
2038 * go-lang.c (go_char_p): Define type and vectors.
2039 (go_search_dirs): New static variable.
2040 (go_langhook_handle_option): Use version and version/machine
2041 directories for -L.
2042 (go_langhook_post_options): Add non-specific -L paths.
2043 * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
2044 DEFAULT_TARGET_MACHINE when compiling.
2045 * gccgo.texi (Invoking gccgo): Only document -L for linking.
2046 (Import and Export): Don't mention -L for finding import files.
2047
20482010-12-03 Ian Lance Taylor <iant@google.com>
2049
2050 PR bootstrap/46776
2051 * go-backend.c: New file.
2052 * go-c.h (go_type_alignment): Declare.
2053 (go_field_alignment, go_trampoline_info): Declare.
2054 * Make-lang.in (GO_OBJS): Add go/go-backend.o.
2055 (go/go-backend.o): New target.
2056 (go/go-lang.o): Make dependencies match source file.
2057 (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
2058 (go/gogo-tree.o): Don't depend on $(TM_H).
2059
20602010-12-03 Ian Lance Taylor <iant@google.com>
2061
2062 * config-lang.in (build_by_default): Set to no.
2063
20642010-12-02 Ian Lance Taylor <iant@google.com>
2065
2066 Go frontend added to gcc repository.
98db73df 2067\f
68127a8e 2068Copyright (C) 2010-2023 Free Software Foundation, Inc.
71eba7a0 2069
98db73df
TB
2070Copying and distribution of this file, with or without modification,
2071are permitted in any medium without royalty provided the copyright
2072notice and this notice are preserved.