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