]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/go/ChangeLog
Come up with fndecl_built_in_p.
[thirdparty/gcc.git] / gcc / go / ChangeLog
CommitLineData
3d78e008
ML
12018-08-27 Martin Liska <mliska@suse.cz>
2
3 * go-gcc.cc (Gcc_backend::call_expression): Use new function
4 fndecl_built_in_p and remove check for FUNCTION_DECL if
5 possible.
6
00abf86c
MS
72018-07-20 Martin Sebor <msebor@redhat.com>
8
9 PR middle-end/82063
10 * go-lang.c (go_langhook_handle_option): Change function argument
11 to HOST_WIDE_INT.
12
a0e8e630
ILT
132018-06-28 Ian Lance Taylor <iant@golang.org>
14
15 PR go/86343
16 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Call
17 build_variant_type_copy rather than build_distinct_type_copy.
18
88f12328
CZ
192018-06-08 Cherry Zhang <cherryyz@google.com>
20
21 * go-gcc.cc (class Gcc_backend): Remove
22 stack_allocation_expression method.
23
3df9a1fe
ILT
242018-02-03 Ian Lance Taylor <iant@golang.org>
25
26 * go-gcc.cc (Gcc_backend::fill_in_struct): Mark struct types as
27 using structural equality.
28
c2a0fe56
ILT
292018-02-02 Ian Lance Taylor <iant@golang.org>
30
31 * go-gcc.cc (Gcc_backend::type_size): Return 0 for
32 void_type_node.
33 (Gcc_backend::convert_expression): Don't convert if the type of
34 expr_tree is void_type_node.
35 (Gcc_backend::array_index_expression): Don't index if the type of
36 the array expression is void_type_node.
37 (Gcc_backend::init_statement): Don't initialize if the type of the
38 initializer expression is void_type_node.
39 (Gcc_backend::assignment_statement): Don't assign if the type of
40 either the left or right hand side is void_type_node.
41 (Gcc_backend::temporary_variable): Don't initialize if the type of
42 the initializer expression is void_type_node.
43
2794baab
CZ
442018-02-01 Cherry Zhang <cherryyz@google.com>
45
46 * lang.opt (fgo-optimize): Remove RejectNegative.
47 * go-c.h (go_enable_optimize): Update declaration to take value
48 argument.
49 * go-lang.c (go_langhook_handle_option): Pass value to
50 go_enable_optimize.
51 * gccgo.texi (Invoking gccgo): Update -fgo-optimize-allocs doc.
52
ebc2f401
ILT
532018-01-30 Ian Lance Taylor <iant@golang.org>
54
55 * go-gcc.cc (Gcc_backend::convert_tree): New private method.
56 (Gcc_backend::constructor_expression): Call it.
57 (Gcc_backend::assignment_statement): Likewise.
58 (Gcc_backend::temporary_variable): Likewise.
59
81e0f092
CZ
602018-01-09 Cherry Zhang <cherryyz@google.com>
61
62 * go-gcc.cc (local_variable): Add decl_var parameter.
63
594d0e51
CZ
642018-01-09 Cherry Zhang <cherryyz@google.com>
65
66 * lang.opt (fgo-debug-escape-hash): New option.
67 * go-c.h (struct go_create_gogo_args): Add debug_escape_hash
68 field.
69 * go-lang.c (go_langhook_init): Set debug_escape_hash field.
70 * gccgo.texi (Invoking gccgo): Document -fgo-debug-escape-hash.
71
677202a2
ILT
722018-01-05 Ian Lance Taylor <iant@golang.org>
73
74 * go-gcc.cc (Gcc_backend::Gcc_backend): Correct
75 math_function_type_long to take one argument.
76
5c0caeb3
RS
772018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
78 Alan Hayward <alan.hayward@arm.com>
79 David Sherwood <david.sherwood@arm.com>
80
81 * go-lang.c (go_langhook_type_for_mode): Handle MODE_VECTOR_BOOL.
82
928686b1
RS
832018-01-03 Richard Sandiford <richard.sandiford@linaro.org>
84 Alan Hayward <alan.hayward@arm.com>
85 David Sherwood <david.sherwood@arm.com>
86
87 * go-lang.c (go_langhook_type_for_mode): Check valid_vector_subparts_p.
88
65e6aea3
JJ
892018-01-03 Jakub Jelinek <jakub@redhat.com>
90
85ec4feb
JJ
91 Update copyright years.
92
65e6aea3
JJ
93 * gccgo.texi: Bump @copyrights-go year.
94
acdef7f8
TR
952017-12-12 Tony Reix <tony.reix@atos.net>
96 Ian Lance Taylor <iant@golang.org>
97
98 * go-lang.c (TARGET_AIX): Define if not defined.
99 (go_langhook_init): Set nil_check_size_threshold to -1 on AIX.
100
9638589f
ILT
1012017-12-01 Ian Lance Taylor <iant@golang.org>
102
103 * go-gcc.cc (Gcc_backend::Gcc_backend): Define
104 __builtin_unreachable.
105 (Gcc_backend::function): Add does_not_return parameter.
106
92f0112c
TM
1072017-12-01 Than McIntosh <thanm@google.com>
108
109 * go-c.h (go_create_gogo_args): Add nil_check_size_threshold
110 field.
111 * go-lang.c (go_langhook_init): Set nil_check_size_threshold.
112
9e851845
JJ
1132017-11-28 Jakub Jelinek <jakub@redhat.com>
114
115 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR using
116 build2_loc instead of build3_loc.
117
f60bea11
TM
1182017-11-14 Than McIntosh <thanm@google.com>
119
120 * go-gcc.cc (var_expression): Remove Varexpr_context parameter.
121
e94574b3
TR
1222017-10-11 Tony Reix <tony.reix@atos.net>
123
124 * go-system.h (__STDC_FORMAT_MACROS): Define before including any
125 system header files, as is done in ../system.h.
126
9add86be
ILT
1272017-10-05 Ian Lance Taylor <iant@golang.org>
128
129 * Make-lang.in (GO_OBJS): Add go/names.o.
130
a97390bf
RS
1312017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
132 Alan Hayward <alan.hayward@arm.com>
133 David Sherwood <david.sherwood@arm.com>
134
135 * go-lang.c (go_langhook_type_for_mode): Use is_complex_float_mode.
136
b4206259
RS
1372017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
138 Alan Hayward <alan.hayward@arm.com>
139 David Sherwood <david.sherwood@arm.com>
140
141 * go-lang.c (go_langhook_type_for_mode): Use is_int_mode.
142
e386a52f
RS
1432017-08-30 Richard Sandiford <richard.sandiford@linaro.org>
144 Alan Hayward <alan.hayward@arm.com>
145 David Sherwood <david.sherwood@arm.com>
146
147 * go-lang.c (go_langhook_type_for_mode): Use is_float_mode.
148
577eec56
ML
1492017-08-07 Martin Liska <mliska@suse.cz>
150
151 * go-gcc.cc (Gcc_backend::function): Look up for no_split_stack
152 and not __no_split_stack__.
153
4ce21457
TR
1542017-07-27 Tony Reix <tony.reix@atos.net>
155
156 * go-backend.c (go_write_export_data): Use EXCLUDE section for
157 AIX.
158
a1f427e9
ILT
1592017-06-09 Ian Lance Taylor <iant@golang.org>
160
161 * go-lang.c (go_langhook_post_options): If -fsplit-stack is turned
162 on, disable implicit -forder-blocks-and-partition.
163
da55a299
TM
1642017-05-12 Than McIntosh <thanm@google.com>
165
166 * go-gcc.cc (Gcc_backend::call_expression): Add caller parameter.
167
be18b176
ILT
1682017-05-11 Ian Lance Taylor <iant@google.com>
169
170 PR go/64238
171 * go-gcc.cc (Gcc_backend::implicit_variable_reference): Set
172 DECL_EXTERNAL, clear TREE_STATIC.
173
f163907e
ILT
1742017-05-10 Than McIntosh <thanm@google.com>
175
176 * go-backend.c: Include "go-c.h".
177 * go-gcc.cc (Gcc_backend::write_export_data): New method.
178
1792017-05-10 Ian Lance Taylor <iant@google.com>
180
181 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
182 __builtin_prefetch.
183 * Make-lang.in (GO_OBJS): Add go/wb.o.
184
1f599d75
TM
1852017-03-28 Than McIntosh <thanm@google.com>
186
187 PR go/80226
188 * go-gcc.cc (Gcc_backend::return_statement): Check for
189 void_type_node when checking result size.
190
db03bf50
ILT
1912017-02-20 Ian Lance Taylor <iant@golang.org>
192
193 PR go/79642
194 * lang.opt (-fgo-relative-import-path): Change space to tab.
195
a4cf4b64
RB
1962017-02-07 Richard Biener <rguenther@suse.de>
197
198 PR tree-optimization/79256
199 PR middle-end/79278
200 * go-backend.c (go_field_alignment): Adjust.
201
a2182c9c
TM
2022017-01-11 Than McIntosh <thanm@google.com>
203
204 * go-gcc.cc (conditional_expression): Add Bfunction parameter.
205
c1a9c369
JJ
2062017-01-01 Jakub Jelinek <jakub@redhat.com>
207
cbe34bb5
JJ
208 Update copyright years.
209
c1a9c369
JJ
210 * gccgo.texi: Bump @copyrights-go year.
211
8220e3f9
TM
2122016-12-16 Than McIntosh <thanm@google.com>
213
214 * go-gcc.cc (Gcc_backend::expression_statement): Add Bfunction*
215 parameter.
216 (Gcc_backend::init_statement): Likewise.
217 (Gcc_backend::assignment_statement): Likewise.
218 (Gcc_backend::if_statement): Likewise.
219
a5a56d88
TM
2202016-12-06 Than McIntosh <thanm@google.com>
221
222 * go-gcc.cc (Gcc_backend::var_expression): Add Varexpr_context
223 parameter.
224
f3878205
TM
2252016-11-22 Than McIntosh <thanm@google.com>
226
227 * go-gcc.cc (char_needs_encoding): Remove.
228 (needs_encoding, fetch_utf8_char, encode_id): Remove.
229 (Gcc_backend::global_variable): Add asm_name parameter. Don't
230 compute asm_name here.
231 (Gcc_backend::implicit_variable): Likewise.
232 (Gcc_backend::implicit_variable_reference): Likewise.
233 (Gcc_backend::immutable_struct): Likewise.
234 (Gcc_backend::immutable_struct_reference): Likewise.
235 * Make-lang.in (GO_OBJS): Add go/go-encode-id.o.
236
9d1e3afb
ILT
2372016-11-22 Ian Lance Taylor <iant@google.com>
238
239 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin function
240 __builtin_frame_address.
241
4b3aaca6
DM
2422016-10-25 David Malcolm <dmalcolm@redhat.com>
243
244 * go-lang.c (go_langhook_type_for_mode): Remove redundant cast
245 from result of GET_MODE_CLASS. Minor formatting fixes.
246
4d0cdd0c
TP
2472016-10-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
248
249 * go-backend.c: Include memmodel.h.
250
3c061ac0
TM
2512016-10-10 Than McIntosh <thanm@google.com>
252
253 * go-gcc.h: New file.
254 * go-c.h (struct go_create_gogo_args): Add backend and linemap
255 fields.
256 * go-lang.c: Include "go-gcc.h".
257 (go_langhook_init): Set linemap and backend fields of args.
258 * go-gcc.cc: Include "go-gcc.h".
259 * go-linemap.cc: Include "go-gcc.h".
260
71543388
TM
2612016-10-10 Than McIntosh <thanm@google.com>
262
263 * go-linemap.cc (Gcc_linemap::location_line): New method.
264
f47ef399
EB
2652016-10-10 Eric Botcazou <ebotcazou@adacore.com>
266
267 * config-lang.in (lang_requires_boot_languages): Delete.
268
4c4430e3
CM
2692016-10-06 Chris Manghane <cmang@google.com>
270
271 * go-gcc.cc (Gcc_backend::stack_allocation_expression): Clear the
272 returned memory.
273
437018ea
TM
2742016-09-27 Than McIntosh <thanm@google.com>
275
276 * go-linemap.cc (Gcc_linemap::to_string): New method.
277
56bafc49
TM
2782016-09-23 Than McIntosh <thanm@google.com>
279
280 * go-gcc-diagnostics.cc: New file.
281 * go-location.h (Location): Remove operator source_location. Add
282 operator==.
283 * go-system.h: #include <sstream>.
284 * Make-lang.in (GO_OBJS): Add go/go-diagnostics.o and
285 go/go-gcc-diagnostics.o.
286 (CFLAGS-go/go-gcc-diagnostics.o): New variable.
287
fdbda43d
CM
2882016-09-23 Chris Manghane <cmang@google.com>
289
290 PR go/77701
291 * go-gcc.cc (Gcc_backend::Gcc_backend): Fix calls to integer_type
292 to pass arguments in the correct order.
293
0cb904af
ILT
2942016-09-22 Ian Lance Taylor <iant@golang.org>
295
296 * go-gcc.cc (Gcc_backend::Gcc_backend): Declare
297 __builtin_frame_address.
298
a8464243
ILT
2992016-09-11 Ian Lance Taylor <iant@golang.org>
300
301 * go-gcc.cc (Gcc_backend::Gcc_backend): Add builtin versions of
302 ctz, ctzll, bswap32, bswap64.
303
ec1ea9cf
ILT
3042016-09-10 Ian Lance Taylor <iant@golang.org>
305
306 * go-backend.c (go_trampoline_info): Remove.
307 * go-c.h (go_trampoline_info): Don't declare.
308
34144b6e
TM
3092016-09-09 Than McIntosh <thanm@google.com>
310
311 * go-sha1.cc: New file.
312 * Make-lang.in (GO_OBJS): Add go/go-sha1.o.
313 (CFLAGS-go/go-sha1.o): New variable.
314
2adb671d
ILT
3152016-08-29 Ian Lance Taylor <iant@google.com>
316
317 * lang.opt (fgo-c-header, fgo-compiling-runtime): New options.
318 * go-c.h (struct go_create_gogo_args): Define.
319 (go_create_gogo): Change declaration to take struct pointer.
320 * go-lang.c (go_c_header): New static variable.
321 (go_langhook_init): Update call to go_create_gogo.
322 * gccgo.texi (Invoking gccgo): Document -fgo-c-header and
323 -fgo-compiling-runtime.
324
6bbd9810
ILT
3252016-08-09 Ian Lance Taylor <iant@google.com>
326
327 * gccgo.texi (Invoking gccgo): Document -fgo-optimize-allocs and
328 -fgo-debug-escae.
329 (Compiler Directives): New chapter.
330 (Function Names): Describe using //go:linkname. Suggest using
331 -fgo-pkgpath rather than -fgo-prefix.
332
f432d128
ILT
3332016-08-08 Ian Lance Taylor <iant@google.com>
334
335 PR go/72814
336 * go-gcc.cc (Gcc_backend::function_type): If the return type is
337 zero bytes, treat the function as returning void.
338 (return_statement): If the return type is zero bytes, don't
339 actually return any values.
340
9dcd84ec
ILT
3412016-08-05 Ian Lance Taylor <iant@google.com>
342
343 PR go/72812
344 * go-gcc.cc (char_needs_encoding): New static function.
345 (needs_encoding, fetch_utf8_char): New static functions.
346 (encode_id): New static function.
347 (Gcc_backend::global_variable): Set asm name if the name is not
348 simple ASCII.
349 (Gcc_backend::implicit_variable): Likewise.
350 (Gcc_backend::implicit_variable_reference): Likewise.
351 (Gcc_backend::immutable_struct): Likewise.
352 (Gcc_backend::immutable_struct_reference): Likewise.
353 (Gcc_backend::function): Likewise.
354
7295570d
CM
3552016-08-02 Chris Manghane <cmang@google.com>
356
357 * lang.opt: Add -fgo-debug-escape option.
358 * go-c.h (go_create_gogo): Add debug_escape_level parameter.
359 * go-lang.c (go_langhook_init): Pass go_debug_escape_level to
360 go_create_gogo.
361
2a30f87f
CM
3622016-05-06 Chris Manghane <cmang@google.com>
363
364 * Make-lang.in (GO_OBJS): Add go/escape.o (based on an entirely
365 new escape.cc).
366
e49aacaf
CM
3672016-04-29 Chris Manghane <cmang@google.com>
368
369 * Make-lang.in (GO_OBJS): Remove go/dataflow.o, go/escape.o.
370
fe37c7af
MM
3712016-04-18 Michael Matz <matz@suse.de>
372
373 * go-gcc.cc (Gcc_backend::implicit_variable): Use SET_DECL_ALIGN.
374
9c582551
JJ
3752016-02-12 Jakub Jelinek <jakub@redhat.com>
376
377 * gofrontend/lex.cc: Spelling fixes - behaviour -> behavior and
378 neighbour -> neighbor.
379 * gccgo.texi: Likewise.
380
ede67376
ILT
3812016-01-27 Ian Lance Taylor <iant@google.com>
382
383 * go-lang.c (go_langhook_init_options_struct): Default to
384 -fkeep-gc-roots-live.
385
21fa2a29
JJ
3862016-01-04 Jakub Jelinek <jakub@redhat.com>
387
818ab71a
JJ
388 Update copyright years.
389
21fa2a29
JJ
390 * gccgo.texi: Bump @copyrights-go year.
391
399f5feb
ILT
3922015-12-21 Ian Lance Taylor <iant@google.com>
393
394 * go-gcc.cc (class Bvariable): Remove Gcc_tree parent class. Add
395 t_ and orig_type_ fields. Add new two parameter constructor. Add
396 get_tree and get_decl methods.
397 (Gcc_backend::var_expression): Pass location to var get_tree.
398 (Gcc_backend::global_variable): Don't add VIEW_CONVERT_EXPR. Use
399 two parameter constructor for Bvariable.
400 (Gcc_backend::global_variable_set_init): Don't remove
401 VIEW_CONVERT_EXPR. Use var get_decl, not get_tree.
402 (Gcc_backend::write_global_definitions): Likewise.
403 (Gcc_backend::init_statement): Call var get_decl, not get_tree.
404 (Gcc_backend::block): Likewise.
405 (Gcc_backend::implicit_variable_set_init): Likewise.
406 (Gcc_backend::immutable_struct_set_init): Likewise.
407 (Gcc_backend::function_set_parameters): Likewise.
408
8fd41e92
ILT
4092015-12-21 Ian Lance Taylor <iant@google.com>
410
411 * go-gcc.cc (Gcc_backend::global_variable): If type is zero-sized,
412 add a VIEW_CONVERT_EXPR to the tree.
413 (Gcc_backend::global_variable_set_init): Remove any
414 VIEW_CONVERT_EXPR.
415 (Gcc_backend::write_global_definitions): Likewise.
416
6ea98dee
ILT
4172015-11-30 Ian Lance Taylor <iant@google.com>
418
419 PR go/68477
420 * go-gcc.cc (Gcc_backend::string_constant_expression): Don't set
421 TYPE_STRING_FLAG on a variant type.
422
69f293c9
AM
4232015-11-11 Andrew MacLeod <amacleod@redhat.com>
424
425 * go-backend.c: Remove unused header files.
426 * go-gcc.cc: Likewise.
427 * go-lang.c: Likewise.
428 * gospec.c: Likewise.
429
2adfab87
AM
4302015-10-29 Andrew MacLeod <amacleod@redhat.com>
431
432 * go-backend.c: Reorder #include's and remove duplicates.
433 * go-lang.c: Likewise.
434
b2e4c071
AM
4352015-10-20 Alan Modra <amodra@gmail.com>
436
437 PR go/66870
438 * gospec.c (saw_opt_m32): Rename to..
439 (is_m64): ..this, initialised by TARGET_CAN_SPLIT_STACK_64BIT.
440 Update uses.
441 (lang_specific_driver): Set is_m64 if OPT_m64, clear if OPT_m32.
442
209919e2
ILT
4432015-10-01 Ian Lance Taylor <iant@google.com>
444
445 PR go/66870
446 * gospec.c (lang_specific_driver): Only look for OPT_m32 if
447 TARGET_CAN_SPLIT_STACK_64BIT is defined.
448
402565b6
LB
4492015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com>
450
451 PR target/66870
452 * gospec.c (lang_specific_driver): Set appropriate split stack
453 options for 64 bit compiles based on TARGET_CAN_SPLIT_STACK_64BIT.
454
ec23e5b3
CM
4552015-09-10 Chris Manghane <cmang@google.com>
456
457 * go-gcc.cc (Gcc_backend::type_size): Return -1 for
458 unrepresentable size.
459
2021ff27
MP
4602015-08-24 Marek Polacek <polacek@redhat.com>
461
462 PR tree-optimization/67284
463 * go-gcc.cc (Gcc_backend::define_builtin): Add NORETURN_P parameter.
464 Set TREE_THIS_VOLATILE.
465 (Gcc_backend::Gcc_backend): Mark __builtin_trap as a noreturn call.
466 Pass false to the rest of define_builtin calls.
467
cb3306e5
AS
4682015-07-31 Andreas Schwab <schwab@linux-m68k.org>
469
470 * go-lang.c (go_langhook_init_options_struct): Don't set
471 x_flag_split_stack.
472 (go_langhook_post_options): Set it here instead.
473
026c3cfd
AH
4742015-07-12 Aldy Hernandez <aldyh@redhat.com>
475
476 * gofrontend/backend.h: Fix double word typos.
477 * gofrontend/expressions.cc: Same.
478 * gospec.c: Same.
479
c7131fb2
AM
4802015-07-07 Andrew MacLeod <amacleod@redhat.com>
481
482 * go-backend.c: Adjust includes.
483 * go-gcc.cc: Likewise.
484 * go-lang.c: Likewise.
485
f0889939
AM
4862015-06-25 Andrew MacLeod <amacleod@redhat.com>
487
488 * go-gcc.cc: Remove ipa-ref.h and plugin-api.h from include list.
489
abb226c9
AM
4902015-06-17 Andrew MacLeod <amacleod@redhat.com>
491
492 * go-backend.c: Do not include input.h, line-map.h or is-a.h.
493 * go-gcc.cc: Likewise.
494 * go-lang.c: Likewise.
495 * go-system.h: Likewise.
496
13fdf2e2
AM
4972015-06-08 Andrew MacLeod <amacleod@redhat.com>
498
499 * go-backend.c : Adjust include files.
500 * go-gcc.cc : Likewise.
501 * go-lang.c : Likewise.
502
d7438551
AH
5032015-06-05 Aldy Hernandez <aldyh@redhat.com>
504
505 * go-gcc.cc (write_global_definitions): Remove call to
506 finalize_compilation_unit.
507 Remove Go specific debug generation.
508 * go-lang.c (go_langhook_parse_file): Call go_write_globals.
509 (go_langhook_write_globals): Remove.
510 Remove LANG_HOOKS_WRITE_GLOBALS everywhere.
511
ecb9f223
AM
5122015-06-04 Andrew MacLeod <amacleod@redhat.com>
513
514 * go-backend.c: Adjust includes for restructured coretypes.h.
515 * go-c.h: Likewise.
516 * go-gcc.cc: Likewise.
517 * go-lang.c: Likewise.
518
4f576c83
CM
5192015-04-30 Chris Manghane <cmang@google.com>
520
521 * go-gcc.cc (Gcc_backend::stack_allocation_expression): New
522 method.
523
46bf0b0a
JW
5242015-04-27 Jim Wilson <jim.wilson@linaro.org>
525
526 * Make-lang.in (go.mostlyclean): Remove gccgo, gccgo-cross, and go1.
527
b496063d
CM
5282015-04-17 Chris Manghane <cmang@google.com>
529
530 * Make-lang.in (GO_OBJS): Add go/escape.o.
531
18fbd1ec
ILT
5322015-02-02 Ian Lance Taylor <iant@google.com>
533
534 PR go/64836
535 PR go/64838
536 * go-gcc.cc (Gcc_backend::type_size): Change return type to
537 int64_t.
538 (Gcc_backend::type_alignment): Likewise.
539 (Gcc_backend::type_field_alignment): Likewise.
540 (Gcc_backend::type_field_offset): Likewise.
541 (Gcc_backend::implicit_variable): Change alignment parameter type
542 to int64_t.
543
1aaecd3b
ILT
5442015-01-23 Ian Lance Taylor <iant@google.com>
545
546 PR go/63565
547 * gccgo.texi (Invoking gccgo): Mention that Go programs should not
548 be stripped.
549
550 * gccgo.texi (C Interoperability): Mention that people should use
551 cgo.
552
818424b2
ILT
5532015-01-23 Ian Lance Taylor <iant@google.com>
554
555 PR go/64595
556 * go-lang.c (go_langhook_init_options_struct): Set default
557 debug_info_level.
558 (go_langhook_post_options): If debug_info_level is still the
559 default, make sure write_symbols is set.
560 * gccgo.texi (Invoking gccgo): Document that -g1 is the default.
561
38bf819a
RH
5622015-01-16 Richard Henderson <rth@redhat.com>
563
564 * go-gcc.cc (Gcc_backend::call_expression): Add chain_expr argument.
565 (Gcc_backend::static_chain_variable): New method.
566
bf1de3f0
ILT
5672015-01-09 Ian Lance Taylor <iant@google.com>
568
569 * config-lang.in (lang_dirs): Define.
570
adfac8df
JJ
5712015-01-09 Michael Collison <michael.collison@linaro.org>
572
573 * go-gcc.cc: Include hash-set.h, machmode.h, vec.h, double-int.h,
574 input.h, alias.h, symtab.h, options.h, fold-const.h,
575 wide-int.h, and inchash.h due to flattening of tree.h.
576 * go-lang.c: Ditto.
577 * go-backend.c: Ditto.
578
dd373780
CM
5792015-01-07 Chris Manghane <cmang@google.com>
580
581 PR go/61204
582 * go-gcc.cc (Gcc_backend::temporary_variable): Don't initialize
583 zero-sized variable.
584
861393ac
CM
5852015-01-06 Chris Manghane <cmang@google.com>
586
dd373780
CM
587 * go-gcc.cc (Gcc_backend::constructor_expression): Don't
588 initialize zero-sized fields, just evaluate the values for side
589 effects.
861393ac 590
b67cd4e3
JJ
5912015-01-05 Jakub Jelinek <jakub@redhat.com>
592
5624e564
JJ
593 Update copyright years.
594
b67cd4e3
JJ
595 * gccgo.texi: Bump @copyrights-go year.
596
943cf9cf
CM
5972014-12-19 Chris Manghane <cmang@google.com>
598
dd373780
CM
599 * go-gcc.cc (Gcc_backend::array_constructor_expression): Don't
600 construct arrays of zero-sized values.
943cf9cf 601
ef4bddc2
RS
6022014-10-29 Richard Sandiford <richard.sandiford@arm.com>
603
604 * go-lang.c: Remove redundant enum from machine_mode.
605
c582198b
AM
6062014-10-28 Andrew MacLeod <amacleod@redhat.com>
607
608 * go-gcc.cc: Adjust include files.
609
60393bbc
AM
6102014-10-27 Andrew MacLeod <amacleod@redhat.com>
611
612 * go-gcc.cc: Adjust include files.
613 * go-lang.c: Ditto.
614
5eda5bad
ILT
6152014-10-23 Ian Lance Taylor <iant@google.com>
616
617 * go-gcc.cc (Gcc_backend::complex_constant_expression): Take one
618 mpc_t parameter instead of two mpfr_t parameters.
619
717c4789
JJ
6202014-09-15 Jakub Jelinek <jakub@redhat.com>
621
622 * Make-lang.in (check_go_parallelize): Change to just an upper bound
623 number.
624
f1d2ac4f
CM
6252014-09-03 Chris Manghane <cmang@google.com>
626
627 * go-gcc.cc (Gcc_backend::implicit_variable): Remove init
628 parameter. Add is_hidden parameter.
629 (Gcc_backend::implicit_variable_set_init): New method.
630 (Gcc_backend::implicit_variable_reference): New method.
631
ff09769f
ILT
6322014-08-08 Ian Lance Taylor <iant@google.com>
633
634 * go-gcc.cc (Gcc_backend::compound_statement): Don't return
635 NULL_TREE.
636
0ffc395f
UB
6372014-07-24 Uros Bizjak <ubizjak@gmail.com>
638
639 * go-gcc.cc (Gcc_backend::global_variable_set_init): Rename
640 symtab_get_node to symtab_node::get.
641
bbeaf05d
ILT
6422014-06-13 Ian Lance Taylor <iant@google.com>
643
644 PR go/61496
645 * gospec.c (lang_specific_driver): On Solaris, when not using GNU
646 ld, add -t option to avoid warning about common symbol changing
647 size.
648
e257a17c
JH
6492014-06-10 Jan Hubicka <hubicka@ucw.cz>
650
0ffc395f 651 * go-gcc.cc (Gcc_backend::global_variable_set_init): Use
e257a17c
JH
652 symtab_get_node(var_decl)->implicit_section.
653
24d047a3
JH
6542014-06-07 Jan Hubicka <hubicka@ucw.cz>
655
656 * go-gcc.cc (global_variable_set_init): Use
657 set_decl_section_name.
658
bae90c98
ILT
6592014-06-04 Ian Lance Taylor <iant@google.com>
660
661 * go-gcc.cc (Gcc_backend::implicit_variable): Add is_common and
662 alignment parameters. Permit init parameter to be NULL.
663
9b2b7279
AM
6642014-06-02 Andrew MacLeod <amacleod@redhat.com>
665
666 * go-gcc.cc: Include builtins.h.
667
766090c2
TS
6682014-05-17 Trevor Saunders <tsaunders@mozilla.com>
669
670 * go-lang.c (struct GTY): Don't use variable_size gty attribute.
671
6f7e0b57
CM
6722014-05-06 Chris Manghane <cmang@google.com>
673
674 * go-gcc.cc (Gcc_backend::nil_pointer_expression): New method.
675 (Gcc_backend::boolean_constant_expression): New method.
676 (Gcc_backend::zero_expression): Use this->make_expression rather
677 than tree_to_expr.
678 (Gcc_backend::var_expression): Likewise.
679 (Gcc_backend::integer_constant_expression): Likewise.
680 (Gcc_backend::float_constant_expression): Likewise.
681 (Gcc_backend::complex_constant_expression): Likewise.
682 (Gcc_backend::struct_field_expression): Likewise.
683 (tree_to_type, tree_to_expr, tree_to_stat): Remove functions.
684 (tree_to_function, tree_to_block): Remove functions.
685 (type_to_tree, expr_to_tree, stat_to_tree): Remove functions.
686 (block_to_tree, var_to_tree, function_to_tree): Remove functions.
687
1d60af08
KZ
6882014-05-06 Kenneth Zadeck <zadeck@naturalbridge.com>
689 Mike Stump <mikestump@comcast.net>
690 Richard Sandiford <rdsandiford@googlemail.com>
691
692 * go-gcc.cc (Gcc_backend::type_size): Use tree_fits_uhwi_p.
693
6122336c
CM
6942014-05-06 Chris Manghane <cmang@google.com>
695
696 * go-c.h (go_create_gogo): Update declaration to add
697 check_divide_zero and check_divide_overflow parameters.
698 * go-lang.c (go_langhook_init): Pass new arguments to
699 go_create_gogo.
700
fb930306
CM
7012014-05-05 Chris Manghane <cmang@google.com>
702
703 * go-gcc.cc (Gcc_backend::implicit_variable): Rename from
704 gc_root_variable. Add name and is_constant parameters.
705
3e7b0938
CM
7062014-05-05 Chris Manghane <cmang@google.com>
707
708 * go-gcc.cc (Gcc_backend::indirect_expression): Add btype
709 parameter.
710 (Gcc_backend::temporary_variable): Check for erroneous function.
711
d2d9bc36
CM
7122014-04-30 Chris Manghane <cmang@google.com>
713
714 * go-backend.c: #include "diagnostics.h".
715 (saw_errors): New function.
716 * go-c.h (saw_errors): Declare.
717 * Make-lang.in (GO_OBJS): Remove go/gogo-tree.o.
718
ad5b68e0
CM
7192014-04-30 Chris Manghane <cmang@google.com>
720
721 * go-lang.c (go_langhook_type_for_size): Do it here, rather than
722 calling into Go frontend.
723 (go_langhook_type_for_mode): Likewise.
724 * go-c.h (go_type_for_size, go_type_for_mode): Don't declare.
725
90cbaa29
CM
7262014-04-30 Chris Manghane <cmang@google.com>
727
728 * go-gcc.cc: #include "langhooks.h".
729 (Gcc_backend::Gcc_backend): Add constructor.
730 (Gcc_backend::lookup_function): New function.
731 (Gcc_backend::define_builtin): New private function.
732 (Gcc_backend::gcc_backend): Remove.
733 (go_get_backend): Use new to create new Gcc_backend.
734
036165d8
CM
7352014-04-25 Chris Manghane <cmang@google.com>
736
737 * go-gcc.cc: Include "cgraph.h" and "gimplify.h".
738 (Gcc_backend::return_statement): Push and pop function.
739 (Gcc_backend::label): Likewise.
740 (Gcc_backend::function_defer_statement): Likewise.
741 (Gcc_backend::switch_statement): Add function parameter.
742 (Gcc_backend::block): Don't permit function to be NULL.
743 (Gcc_backend::temporary_variable): Change go_assert to
744 gcc_assert.
745 (Gcc_backend::gc_root_variable): New function.
746 (Gcc_backend::write_global_definitions): New function.
747
aa492920
CM
7482014-04-22 Chris Manghane <cmang@google.com>
749
750 * go-gcc.cc (Gcc_backend::temporary_variable): Push cfun around
751 call to create_tmp_var. Require that function be non-NULL.
752
e85baec7
CM
7532014-04-17 Chris Manghane <cmang@google.com>
754
755 * go-gcc.cc (Gcc_backend::named_constant_expression): New
756 function.
757
7035307e
CM
7582014-04-14 Chris Manghane <cmang@google.com>
759
760 * go-gcc.cc: Include "convert.h".
761 (Gcc_backend::string_constant_expression): New function.
762 (Gcc_backend::real_part_expression): Likewise.
763 (Gcc_backend::imag_part_expression): Likewise.
764 (Gcc_backend::complex_expression): Likewise.
765 (Gcc_backend::constructor_expression): Likewise.
766 (Gcc_backend::array_constructor_expression): Likewise.
767 (Gcc_backend::pointer_offset_expression): Likewise.
768 (Gcc_backend::array_index_expression): Likewise.
769 (Gcc_backend::call_expression): Likewise.
770 (Gcc_backend::exception_handler_statement): Likewise.
771 (Gcc_backend::function_defer_statement): Likewise.
772 (Gcc_backend::function_set_parameters): Likewise.
773 (Gcc_backend::function_set_body): Likewise.
774 (Gcc_backend::convert_expression): Handle various type
775 conversions.
776
915182a0
ILT
7772014-03-03 Ian Lance Taylor <iant@google.com>
778
779 * go-gcc.cc (Gcc_backend::immutable_struct): If IS_COMMON, set
780 DECL_WEAK.
781 (GCC_backend::immutable_struct_set_init): If IS_COMMON, clear
782 DECL_WEAK.
783
8a35e18d
CM
7842014-01-24 Chris Manghane <cmang@google.com>
785
786 * go-gcc.cc (Gcc_backend::unary_expression): New function.
787
b5407ad1
CM
7882014-01-16 Chris Manghane <cmang@google.com>
789
790 * go-gcc.cc (Gcc_backend::conditional_expression): Add btype
791 parameter.
792 (operator_to_tree_code): New static function.
793 (Gcc_backend::binary_expression): New function.
794
eb6eb862
CM
7952014-01-14 Chris Manghane <cmang@google.com>
796
797 * go-gcc.cc (Gcc_backend::compound_expression): New function.
798 (Gcc_backend::conditional_expression): New function.
799
23a5b65a
RS
8002014-01-02 Richard Sandiford <rdsandiford@googlemail.com>
801
802 Update copyright years
803
98db73df 8042014-01-02 Tobias Burnus <burnus@net-b.de>
71eba7a0 805
0ffc0b3b
JJ
806 * gccgo.texi: Bump @copying's copyright year.
807
8082013-12-16 Chris Manghane <cmang@google.com>
809
810 * go-gcc.cc (Gcc_backend::struct_field_expression): New function.
811
8122013-12-11 Ian Lance Taylor <iant@google.com>
813
814 * go-lang.c (go_langhook_post_options): Disable sibling calls by
815 default.
816
8172013-12-10 Ian Lance Taylor <iant@google.com>
818
819 * Make-lang.in (check_go_parallelize): Test go-test.exp r* tests
820 separately.
821
8222013-12-05 Ian Lance Taylor <iant@google.com>
823
824 Revert this change; no longer required.
825 2013-11-06 Ian Lance Taylor <iant@google.com>
826
827 * go-lang.c (go_langhook_post_options): If
828 -fisolate-erroneous-paths was turned on by an optimization option,
829 turn it off.
830
8312013-11-23 Ian Lance Taylor <iant@google.com>
832
833 * go-gcc.cc (Gcc_backend::function_type): Add result_struct
834 parameter.
835
8362013-11-22 Andrew MacLeod <amacleod@redhat.com>
837
838 * go-gcc.cc: Add required include files from gimple.h.
839 * go-lang.c: Likewise
840
8412013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
842
843 * gofrontend/expressions.cc: Replace tree_low_cst (..., 0) with
844 tree_to_shwi throughout.
845
8462013-11-18 Richard Sandiford <rdsandiford@googlemail.com>
847
848 * gofrontend/expressions.cc: Replace host_integerp (..., 0) with
849 tree_fits_shwi_p throughout.
850
8512013-11-14 Andrew MacLeod <amacleod@redhat.com>
852
853 * go-lang.c: Include only gimplify.h and gimple.h as needed.
854
8552013-11-14 Diego Novillo <dnovillo@google.com>
856
857 * go-backend.c: Include stor-layout.h.
858 * go-gcc.cc: Include stringpool.h.
859 Include stor-layout.h.
860 Include varasm.h.
861 * go-lang.c: Include stor-layout.h.
862
8632013-11-12 Andrew MacLeod <amacleod@redhat.com>
864
865 * go-lang.c: Include gimplify.h.
866
8672013-11-06 Ian Lance Taylor <iant@google.com>
868
869 * go-lang.c (go_langhook_post_options): If
870 -fisolate-erroneous-paths was turned on by an optimization option,
871 turn it off.
872
8732013-10-14 Chris Manghane <cmang@google.com>
874
875 * go-gcc.cc (Gcc_backend::address_expression): New function.
876
8772013-10-11 Chris Manghane <cmang@google.com>
878
879 * go-gcc.cc (Gcc_backend::function_code_expression): New
880 function.
881
8822013-10-10 Chris Manghane <cmang@google.com>
883
884 * go-gcc.cc (Gcc_backend::error_function): New function.
885 (Gcc_backend::function): New function.
886 (Gcc_backend::make_function): New function.
887 (function_to_tree): New function.
888
8892013-10-04 Chris Manghane <cmang@google.com>
890
891 * go-gcc.cc (Gcc_backend::convert_expression): New function.
892
8932013-10-02 Chris Manghane <cmang@google.com>
894
895 * go-gcc.cc: Include "real.h" and "realmpfr.h".
896 (Gcc_backend::integer_constant_expression): New function.
897 (Gcc_backend::float_constant_expression): New function.
898 (Gcc_backend::complex_constant_expression): New function.
899
9002013-09-30 Chris Manghane <cmang@google.com>
901
902 * go-gcc.cc (Gcc_backend::error_expression): New function.
903 (Gcc_backend::var_expression): New function.
904 (Gcc_backend::indirect_expression): New function.
905
9062013-09-25 Tom Tromey <tromey@redhat.com>
907
908 * Make-lang.in (gospec.o): Remove.
909 (CFLAGS-go/gospec.o): New variable.
910 (GCCGO_OBJS): Update to use go/gospec.o.
911 (go_OBJS): Define.
912 (GO_SYSTEM_H, GO_C_H, GO_LINEMAP_H, GO_LEX_H, GO_PARSE_H)
913 (GO_GOGO_H, GO_TYPES_H, GO_STATEMENTS_H, GO_EXPRESSIONS_H)
914 (GO_EXPORT_H, GO_IMPORT_H, GO_RUNTIME_H, GO_AST_DUMP_H)
915 (go/go-backend.o, go/go-lang.o, go/go-gcc.o, go/go-linemap.o)
916 (go/ast-dump.o, go/dataflow.o, go/export.o, go/expressions.o)
917 (go/go.o, go/go-dump.o, go/go-optimize.o, go/gogo-tree.o)
918 (go/gogo.o, go/import.o, go/import-archive.o, go/lex.o)
919 (go/parse.o, go/runtime.o, go/statements.o, go/types.o)
920 (go/unsafe.o): Remove.
921 (CFLAGS-go/go-gcc.o, CFLAGS-go/go-linemap.o): New variables.
922 (go/%.o: go/gofrontend/%.cc): Use COMPILE and POSTCOMPILE.
923
9242013-09-25 Tom Tromey <tromey@redhat.com>
925
926 * Make-lang.in (gospec.o): Don't use subshell.
927
9282013-08-28 Ian Lance Taylor <iant@google.com>
929
930 * go-gcc.cc (Gcc_backend::immutable_struct): Set TREE_PUBLIC if
931 the struct is not hidden.
932 (Gcc_backend::immutable_struct_set_init): Don't set TREE_PUBLIC.
933
9342013-08-06 Ian Lance Taylor <iant@google.com>
935
936 * go-gcc.cc (Gcc_backend::immutable_struct_set_init): Use
937 compute_reloc_for_constant.
938
9392013-08-02 Ian Lance Taylor <iant@google.com>
940
941 * go-gcc.cc (immutable_struct_set_init): Always call
942 resolve_unique_section.
943
9442013-07-24 Ian Lance Taylor <iant@google.com>
945
946 * go-gcc.cc (Gcc_backend::non_zero_size_type): If a struct has a
947 fields, recreate those fields with the first one with a non-zero
948 size.
949
9502013-07-23 Ian Lance Taylor <iant@google.com>
951
952 * go-backend.c: Don't #include "rtl.h".
953 (go_imported_unsafe): Don't call init_varasm_once.
954 * Make-lang.in (go/go-backend.o): Don't depend on $(RTL_H).
955
9562013-07-23 Ian Lance Taylor <iant@google.com>
957
958 * go-lang.c: Don't #include "except.h".
959 * Make-lang.in (go/go-lang.o): Don't depend on $(EXCEPT_H).
960
9612013-06-18 Ian Lance Taylor <iant@google.com>
962
963 * go-gcc.cc (Gcc_backend::immutable_struct): Add is_hidden
964 parameter.
965 (Gcc_backend::immutable_struct_set_init): Likewise.
966
9672013-05-16 Jason Merrill <jason@redhat.com>
968
969 * Make-lang.in (go1$(exeext)): Use link mutex.
970
9712013-01-16 Shenghou Ma <minux.ma@gmail.com>
972
973 * gospec.c: pass -u pthread_create to linker when static linking.
974
9752012-12-21 Ian Lance Taylor <iant@google.com>
976
977 PR bootstrap/54659
978 * go-system.h: Don't include <cstdio>.
979
9802012-12-18 Ian Lance Taylor <iant@google.com>
981
982 PR go/55201
983 * gospec.c: Revert last patch.
984
9852012-12-18 Andreas Schwab <schwab@linux-m68k.org>
986
987 PR go/55201
988 * gospec.c (LIBATOMIC): Define.
989 (LIBATOMIC_PROFILE): Define.
990 (lang_specific_driver): Add LIBATOMIC[_PROFILE] option.
991
9922012-11-29 Ian Lance Taylor <iant@google.com>
993
994 * go-gcc.cc: Include "output.h".
995 (global_variable): Add is_unique_section parameter.
996 (global_variable_set_init): Adjust unique section if necessary.
997 * Make-lang.in (go/go-gcc.o): Add dependency on output.h.
998
9992012-11-17 Diego Novillo <dnovillo@google.com>
1000
1001 Adjust for new vec API (http://gcc.gnu.org/wiki/cxx-conversion/cxx-vec)
1002
1003 * go-lang.c: Use new vec API in vec.h.
1004
10052012-11-16 Ian Lance Taylor <iant@google.com>
1006
1007 * Make-lang.in (gccgo$(exeext)): Add + at start of command.
1008 (go1$(exeext)): Likewise.
1009
10102012-10-30 Ian Lance Taylor <iant@google.com>
1011
1012 * lang.opt (-fgo-relative-import-path): New option.
1013 * go-lang.c (go_relative_import_path): New static variable.
1014 (go_langhook_init): Pass go_relative_import_path to
1015 go_create_gogo.
1016 (go_langhook_handle_option): Handle -fgo-relative-import-path.
1017 * go-c.h (go_create_gogo): Update declaration.
1018 * gccgo.texi (Invoking gccgo): Document
1019 -fgo-relative-import-path.
1020
10212012-09-17 Ian Lance Taylor <iant@google.com>
1022
1023 * config-lang.in (target_libs): Add target-libbacktrace.
1024
10252012-09-16 Ian Lance Taylor <iant@google.com>
1026
1027 * Make-lang.in (go/gogo.o): Depend on filenames.h.
1028
10292012-08-14 Diego Novillo <dnovillo@google.com>
1030
1031 Merge from cxx-conversion branch. Configury.
1032
1033 * go-c.h: Remove all handlers of ENABLE_BUILD_WITH_CXX.
1034 * go-gcc.cc: Likewise.
1035 * go-system.h: Likewise.
1036
10372012-07-24 Uros Bizjak <ubizjak@gmail.com>
1038
1039 * go-lang.c (lang_decl): Add variable_size GTY option.
1040
10412012-05-09 Ian Lance Taylor <iant@google.com>
1042
1043 * lang.opt: Add -fgo-pkgpath.
1044 * go-lang.c (go_pkgpath): New static variable.
1045 (go_prefix): New static variable.
1046 (go_langhook_init): Pass go_pkgpath and go_prefix to
1047 go_create_gogo.
1048 (go_langhook_handle_option): Handle -fgo-pkgpath. Change
1049 -fgo-prefix handling to just set go_prefix.
1050 * go-c.h (go_set_prefix): Don't declare.
1051 (go_create_gogo): Add pkgpath and prefix to declaration.
1052 * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
1053 to pkgpath. Don't include the package name in the asm name.
1054 * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath. Update the
1055 docs for -fgo-prefix.
1056
10572012-04-23 Ian Lance Taylor <iant@google.com>
1058
1059 * go-lang.c (go_langhook_init): Set MPFR precision to 256.
1060
10612012-04-20 Ian Lance Taylor <iant@google.com>
1062
1063 * lang.opt: Add -fgo-check-divide-zero and
1064 -fgo-check-divide-overflow.
1065 * gccgo.texi (Invoking gccgo): Document new options.
1066
10672012-04-18 Steven Bosscher <steven@gcc.gnu.org>
1068
1069 * go-gcc.cc (Gcc_backend::switch_statement): Build SWITCH_EXPR
1070 with NULL_TREE type instead of void_type_node.
1071
10722012-03-09 Ian Lance Taylor <iant@google.com>
1073
1074 * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
1075 to the lhs type if necessary.
1076
10772012-03-08 Ian Lance Taylor <iant@google.com>
1078
1079 * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
1080 zero-sized variable.
1081 (go_non_zero_struct): New global variable.
1082 (Gcc_backend::non_zero_size_type): New function.
1083 (Gcc_backend::global_variable): Don't build an assignment for a
1084 zero-sized value.
1085 * go-c.h (go_non_zero_struct): Declare.
1086 * config-lang.in (gtfiles): Add go-c.h.
1087
10882012-02-29 Ian Lance Taylor <iant@google.com>
1089
1090 * go-gcc.cc (class Gcc_tree): Add set_tree method.
1091 (set_placeholder_pointer_type): When setting to a pointer to
1092 error, set to error_mark_node.
1093
10942012-02-23 Richard Guenther <rguenther@suse.de>
1095
1096 * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
1097 build_distinct_type_copy.
1098
10992012-02-17 Ian Lance Taylor <iant@google.com>
1100
1101 * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
1102
11032012-02-17 Ian Lance Taylor <iant@google.com>
1104
1105 * gospec.c (lang_specific_driver): If linking, and no -o option
1106 was used, add one.
1107
11082012-02-14 Ian Lance Taylor <iant@google.com>
1109
1110 PR go/48411
1111 * Make-lang.in (gccgo-cross$(exeext)): New target.
1112 (go.all.cross): Depend on gccgo-cross$(exeext) instead of
1113 gccgo$(exeext).
1114 (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
1115 gccgo-cross$(exeext) does not exist.
1116
11172012-02-07 Ian Lance Taylor <iant@google.com>
1118
1119 * gccgo.texi (Function Names): Document //extern instead of
1120 __asm__.
1121
11222012-02-01 Jakub Jelinek <jakub@redhat.com>
1123
1124 PR target/52079
1125 * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
1126 return build_nonstandard_integer_type result if possible.
1127
11282012-01-21 Ian Lance Taylor <iant@google.com>
1129
1130 * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
1131 (Gcc_backend::type_alignment): Likewise.
1132 (Gcc_backend::type_field_alignment): Likewise.
1133 (Gcc_backend::type_field_offset): Likewise.
1134
11352012-01-20 Ian Lance Taylor <iant@google.com>
1136
1137 * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
1138 be empty.
1139 (Gcc_backend::set_placeholder_struct_type): Likewise.
1140
11412012-01-17 Ian Lance Taylor <iant@google.com>
1142
1143 * gospec.c (lang_specific_driver): If we see -S without -o, add -o
1144 BASE.s rather than -o BASE.o.
1145
11462012-01-11 Ian Lance Taylor <iant@google.com>
1147
1148 * go-lang.c (go_langhook_init): Initialize void_list_node before
1149 calling go_create_gogo.
1150
11512012-01-10 Ian Lance Taylor <iant@google.com>
1152
1153 * go-gcc.cc (Gcc_backend::type_size): New function.
1154 (Gcc_backend::type_alignment): New function.
1155 (Gcc_backend::type_field_alignment): New function.
1156 (Gcc_backend::type_field_offset): New function.
1157 * go-backend.c (go_type_alignment): Remove.
1158 * go-c.h (go_type_alignment): Don't declare.
1159
11602011-12-27 Ian Lance Taylor <iant@google.com>
1161
1162 * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
1163 build_distinct_type_copy rather than build_variant_type_copy.
1164 (Gcc_backend::set_placeholder_array_type): Likewise.
1165 (Gcc_backend::named_type): Add special handling for builtin
1166 basic types.
1167
11682011-12-22 Ian Lance Taylor <iant@google.com>
1169
1170 * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
1171 for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
1172 (Gcc_backend::set_placeholder_struct_type): Likewise.
1173 (Gcc_backend::set_placeholder_array_type): Likewise.
1174 (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
1175
11762011-12-13 Ian Lance Taylor <iant@google.com>
1177
1178 * go-backend.c: #include "simple-object.h" and "intl.h".
1179 (GO_EXPORT_SEGMENT_NAME): Define if not defined.
1180 (GO_EXPORT_SECTION_NAME): Likewise.
1181 (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
1182 (go_read_export_data): New function.
1183 * go-c.h (go_read_export_data): Declare.
1184
11852011-11-29 Sanjoy Das <thedigitalangel@gmail.com>
1186 Ian Lance Taylor <iant@google.com>
1187
1188 * go-location.h: New file.
1189 * go-linemap.cc: New file.
1190 * go-gcc.cc: Change all uses of source_location to Location.
1191 * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
1192 (GO_LINEMAP_H): New variable.
1193 (GO_LEX_H): Use $(GO_LINEMAP_H).
1194 (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
1195 (go/go-linemap.o): New target.
1196
11972011-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1198
1199 * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
1200
12012011-08-24 Roberto Lublinerman <rluble@gmail.com>
1202
1203 * lang.opt: Add fgo-optimize-.
1204 * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
1205 * go-c.h (go_enable_optimize): Declare.
1206 * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
1207 (GO_EXPORT_H): Define.
1208 (GO_IMPORT_H): Add $(GO_EXPORT_H).
1209 (GO_AST_DUMP_H): Define.
1210 (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
1211 (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
1212 (go/types.o): Likewise.
1213 (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
1214 (go/go-optimize.o): New target.
1215
12162011-08-24 Joseph Myers <joseph@codesourcery.com>
1217
1218 * Make-lang.in (CFLAGS-go/go-lang.o): New.
1219 (go/go-lang.o): Remove explicit compilation rule.
1220
12212011-08-08 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1222
1223 * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
1224
12252011-08-02 Roberto Lublinerman <rluble@gmail.com>
1226
1227 * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
1228 (go/ast-dump.o): New target.
1229 (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
1230 (go/statements.o): Likewise.
1231
12322011-07-06 Richard Guenther <rguenther@suse.de>
1233
1234 * go-lang.c (go_langhook_init):
1235 Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
1236
12372011-06-14 Joseph Myers <joseph@codesourcery.com>
1238
1239 * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
1240 dependencies.
1241 * go-backend.c: Include common/common-target.h.
1242 (go_write_export_data): Use targetm_common.have_named_sections.
1243 * go-lang.c: Include common/common-target.h.
1244 (go_langhook_init_options_struct): Use
1245 targetm_common.supports_split_stack.
1246
12472011-06-13 Ian Lance Taylor <iant@google.com>
1248
1249 * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
1250
12512011-06-10 Ian Lance Taylor <iant@google.com>
1252
1253 * go-gcc.cc: Include "toplev.h".
1254 (Gcc_backend::immutable_struct): New function.
1255 (Gcc_backend::immutable_struct_set_init): New function.
1256 (Gcc_backend::immutable_struct_reference): New function.
1257 * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
1258
12592011-06-09 Ian Lance Taylor <iant@google.com>
1260
1261 * go-gcc.cc (Gcc_backend::zero_expression): New function.
1262
12632011-06-07 Richard Guenther <rguenther@suse.de>
1264
1265 * go-lang.c (go_langhook_init): Do not set
1266 size_type_node or call set_sizetype.
1267
12682011-05-27 Ian Lance Taylor <iant@google.com>
1269
1270 * go-backend.c: Include "output.h".
1271 (go_write_export_data): New function.
1272 * go-c.h (go_write_export_data): Declare.
1273 * Make-lang.in (go/go-backend.o): Depend on output.h.
1274 (go/export.o): Depend on $(GO_C_H). Do not depend on
1275 $(MACHMODE_H), output.h, or $(TARGET_H).
1276
12772011-05-24 Joseph Myers <joseph@codesourcery.com>
1278
1279 * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
1280 (gccgo$(exeext)): Use libcommon-target.a.
1281
12822011-05-20 Joseph Myers <joseph@codesourcery.com>
1283
1284 * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
1285
12862011-05-13 Ian Lance Taylor <iant@google.com>
1287
1288 * go-gcc.cc (Gcc_backend::function_type): When building a struct
1289 for multiple results, check that all fields types have a size.
1290 (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
1291
12922011-05-12 Ian Lance Taylor <iant@google.com>
1293
1294 * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
1295 parameter.
1296 (Gcc_backend::parameter_variable): Likewise.
1297
12982011-05-07 Eric Botcazou <ebotcazou@adacore.com>
1299
1300 * go-lang.c (global_bindings_p): Return bool and simplify.
1301
13022011-05-05 Nathan Froyd <froydnj@codesourcery.com>
1303
1304 * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
1305
13062011-05-04 Ian Lance Taylor <iant@google.com>
1307
1308 * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
1309 (Gcc_backend::fill_in_struct): New function.
1310 (Gcc_backend::array_type): Implement.
1311 (Gcc_backend::fill_in_array): New function.
1312 (Gcc_backend::placeholder_pointer_type): New function.
1313 (Gcc_backend::set_placeholder_pointer_type): New function.
1314 (Gcc_backend::set_placeholder_function_type): New function.
1315 (Gcc_backend::placeholder_struct_type): New function.
1316 (Gcc_backend::set_placeholder_struct_type): New function.
1317 (Gcc_backend::placeholder_array_type): New function.
1318 (Gcc_backend::set_placeholder_array_type): New function.
1319 (Gcc_backend::named_type): New function.
1320 (Gcc_backend::circular_pointer_type): New function.
1321 (Gcc_backend::is_circular_pointer_type): New function.
1322
13232011-04-26 Ian Lance Taylor <iant@google.com>
1324
1325 * go-gcc.cc (Gcc_backend::struct_type): Implement.
1326
13272011-04-25 Ian Lance Taylor <iant@google.com>
1328
1329 * go-gcc.cc (Gcc_backend::error_type): Implement.
1330 (Gcc_backend::string_type): Remove.
1331 (Gcc_backend::function_type): Change signature and implement.
1332 (Gcc_backend::struct_type): Change signature.
1333 (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
1334 (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
1335 (Gcc_backend::pointer_type): Check for error.
1336 * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
1337
13382011-04-25 Evan Shaw <edsrzf@gmail.com>
1339
1340 * go-gcc.c (class Gcc_tree): Make get_tree const.
1341 (Gcc_backend::void_type): Implement.
1342 (Gcc_backend::bool_type): Implement.
1343 (Gcc_backend::integer_type): Implement.
1344 (Gcc_backend::float_type): Implement.
1345 (Gcc_backend::complex_type): New function.
1346 (Gcc_backend::pointer_type): New function.
1347 (Gcc_backend::make_type): New function.
1348 (type_to_tree): New function.
1349
13502011-04-21 Ian Lance Taylor <iant@google.com>
1351
1352 * go-system.h (go_assert, go_unreachable): Define.
1353
13542011-04-19 Ian Lance Taylor <iant@google.com>
1355
1356 * go-system.h: Include "intl.h".
1357 * Make-lang.in (GO_SYSTEM_H): Add intl.h.
1358 (go/statements.o): Remove dependencies on intl.h $(TREE_H)
1359 $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
1360
13612011-04-19 Ian Lance Taylor <iant@google.com>
1362
1363 * go-gcc.cc (Gcc_backend::temporary_variable): New function.
1364
13652011-04-19 Ian Lance Taylor <iant@google.com>
1366
1367 * go-gcc.cc (class Bblock): Define.
1368 (Gcc_backend::if_statement): Change then_block and else_block to
1369 Bblock*.
1370 (Gcc_backend::block): New function.
1371 (Gcc_backend::block_add_statements): New function.
1372 (Gcc_backend::block_statement): New function.
1373 (tree_to_block, block_to_tree): New functions.
1374
13752011-04-18 Ian Lance Taylor <iant@google.com>
1376
1377 * go-gcc.cc: Include "go-c.h".
1378 (class Bvariable): Define.
1379 (Gcc_backend::init_statement): New function.
1380 (Gcc_backend::global_variable): New function.
1381 (Gcc_backend::global_variable_set_init): New function.
1382 (Gcc_backend::local_variable): New function.
1383 (Gcc_backend::parameter_variable): New function.
1384 (tree_to_type, var_to_tree): New functions.
1385 * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
1386 * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
1387
13882011-04-15 Ian Lance Taylor <iant@google.com>
1389
1390 * go-gcc.cc (Gcc_backend::compound_statement): New function.
1391 (Gcc_backend::assignment_statement): Use error_statement.
1392 (Gcc_backend::return_statement): Likewise.
1393 (Gcc_backend::if_statement): Likewise.
1394 (Gcc_backend::switch_statement): Likewise.
1395 (Gcc_backend::statement_list): Likewise.
1396
13972011-04-14 Ian Lance Taylor <iant@google.com>
1398
1399 * go-gcc.cc (Gcc_backend::error_statement): New function.
1400
14012011-04-13 Ian Lance Taylor <iant@google.com>
1402
1403 * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
1404
14052011-04-13 Ian Lance Taylor <iant@google.com>
1406
1407 * Make-lang.in (GO_OBJS): Add go/runtime.o.
1408 (GO_RUNTIME_H): New variable.
1409 (go/runtime.o): New target.
1410 (go/gogo.o): Depend on $(GO_RUNTIME_H).
1411 (go/statements.o): Likewise.
1412
14132011-04-12 Nathan Froyd <froydnj@codesourcery.com>
1414
1415 * go-lang.c (union lang_tree_node): Check for TS_COMMON before
1416 calling TREE_CHAIN.
1417
14182011-04-06 Ian Lance Taylor <iant@google.com>
1419
1420 * go-gcc.cc (if_statement): Use build3_loc.
1421 (Gcc_backend::switch_statement): New function.
1422 (Gcc_backend::statement_list): New function.
1423
14242011-04-06 Ian Lance Taylor <iant@google.com>
1425
1426 * go-gcc.cc (Gcc_backend::if_statement): New function.
1427 (tree_to_stat): New function.
1428 (expr_to_tree): Renamed from expression_to_tree.
1429 (stat_to_tree): Renamed from statement_to_tree.
1430
14312011-04-06 Ian Lance Taylor <iant@google.com>
1432
1433 * go-gcc.cc (Gcc_backend::expression_statement): New function.
1434
14352011-04-04 Ian Lance Taylor <iant@google.com>
1436
1437 * go-gcc.c (class Blabel): Define.
1438 (Gcc_backend::make_expression): New function.
1439 (get_identifier_from_string): New function.
1440 (Gcc_backend::label): New function.
1441 (Gcc_backend::label_definition_statement): New function.
1442 (Gcc_backend::goto_statement): New function.
1443 (Gcc_backend::label_address): New function.
1444 (expression_to_tree): New function.
1445 * Make-lang.in (go/expressions.o): Depend on
1446 go/gofrontend/backend.h.
1447 (go/gogo.o): Likewise.
1448
14492011-04-04 Ian Lance Taylor <iant@google.com>
1450
1451 * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
1452 (class Bfunction): Define.
1453 (Gcc_backend::assignment_statement): Rename from assignment.
1454 Check for errors.
1455 (Gcc_backend::return_statement): New function.
1456 (tree_to_function): New function.
1457 * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
1458 $(GIMPLE_H), and $(GO_GOGO_H).
1459
14602011-04-03 Ian Lance Taylor <iant@google.com>
1461
1462 * go-gcc.cc: New file.
1463 * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
1464 (go/go-gcc.o): New target.
1465 (go/go.o): Depend on go/gofrontend/backend.h.
1466 (go/statements.o): Likewise.
1467
14682011-02-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
1469
1470 * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
1471
14722011-02-08 Ian Lance Taylor <iant@google.com>
1473
1474 * go-lang.c (go_langhook_init_options_struct): Set
1475 frontend_set_flag_errno_math. Don't set x_flag_trapping_math.
1476
14772011-01-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1478
1479 * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
1480 LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
1481
14822011-01-21 Ian Lance Taylor <iant@google.com>
1483
1484 * go-lang.c (go_langhook_init): Omit float_type_size when calling
1485 go_create_gogo.
1486 * go-c.h: Update declaration of go_create_gogo.
1487
14882011-01-13 Ian Lance Taylor <iant@google.com>
1489
1490 * go-backend.c: Include "rtl.h" and "target.h".
1491 (go_imported_unsafe): New function.
1492 * go-c.h (go_imported_unsafe): Declare.
1493 * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
1494 (go/gogo-tree.o): Remove dependency on $(RTL_H).
1495 (go/unsafe.o): Depend on $(GO_C_H).
1496
14972010-12-31 Joern Rennecke <amylaar@spamcop.net>
1498
1499 PR go/47113
1500 * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
1501 variable ‘field’ .
1502
15032010-12-21 Ian Lance Taylor <iant@google.com>
1504
1505 * Make-lang.in (check-go): Remove.
1506 (lang_checks_parallelized): Add check-go.
1507 (check_go_parallelize): Set.
1508
15092010-12-13 Ian Lance Taylor <iant@google.com>
1510
1511 * gospec.c (lang_specific_driver): Add a -o option if not linking
1512 and there is no -o option already.
1513
15142010-12-07 Ian Lance Taylor <iant@google.com>
1515
1516 PR tree-optimization/46805
1517 PR tree-optimization/46833
1518 * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
1519
15202010-12-06 Ian Lance Taylor <iant@google.com>
1521
1522 PR other/46789
1523 PR bootstrap/46812
1524 * go-lang.c (go_char_p): Define type and vectors.
1525 (go_search_dirs): New static variable.
1526 (go_langhook_handle_option): Use version and version/machine
1527 directories for -L.
1528 (go_langhook_post_options): Add non-specific -L paths.
1529 * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
1530 DEFAULT_TARGET_MACHINE when compiling.
1531 * gccgo.texi (Invoking gccgo): Only document -L for linking.
1532 (Import and Export): Don't mention -L for finding import files.
1533
15342010-12-03 Ian Lance Taylor <iant@google.com>
1535
1536 PR bootstrap/46776
1537 * go-backend.c: New file.
1538 * go-c.h (go_type_alignment): Declare.
1539 (go_field_alignment, go_trampoline_info): Declare.
1540 * Make-lang.in (GO_OBJS): Add go/go-backend.o.
1541 (go/go-backend.o): New target.
1542 (go/go-lang.o): Make dependencies match source file.
1543 (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
1544 (go/gogo-tree.o): Don't depend on $(TM_H).
1545
15462010-12-03 Ian Lance Taylor <iant@google.com>
1547
1548 * config-lang.in (build_by_default): Set to no.
1549
15502010-12-02 Ian Lance Taylor <iant@google.com>
1551
1552 Go frontend added to gcc repository.
98db73df 1553\f
85ec4feb 1554Copyright (C) 2010-2018 Free Software Foundation, Inc.
71eba7a0 1555
98db73df
TB
1556Copying and distribution of this file, with or without modification,
1557are permitted in any medium without royalty provided the copyright
1558notice and this notice are preserved.