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