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