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