OSDN Git Service

Revert delta 190174
[pf3gnuchains/gcc-fork.git] / gcc / go / ChangeLog
1 2012-06-14  Release Manager
2
3         * GCC 4.7.1 released.
4
5 2012-05-09  Ian Lance Taylor  <iant@google.com>
6
7         * lang.opt: Add -fgo-pkgpath.
8         * go-lang.c (go_pkgpath): New static variable.
9         (go_prefix): New static variable.
10         (go_langhook_init): Pass go_pkgpath and go_prefix to
11         go_create_gogo.
12         (go_langhook_handle_option): Handle -fgo-pkgpath.  Change
13         -fgo-prefix handling to just set go_prefix.
14         * go-c.h (go_set_prefix): Don't declare.
15         (go_create_gogo): Add pkgpath and prefix to declaration.
16         * go-gcc.cc (Gcc_backend::global_variable): Change unique_prefix
17         to pkgpath.  Don't include the package name in the asm name.
18         * gccgo.texi (Invoking gccgo): Document -fgo-pkgpath.  Update the
19         docs for -fgo-prefix.
20
21 2012-04-23  Ian Lance Taylor  <iant@google.com>
22
23         * go-lang.c (go_langhook_init): Set MPFR precision to 256.
24
25 2012-04-20  Ian Lance Taylor  <iant@google.com>
26
27         * lang.opt: Add -fgo-check-divide-zero and
28         -fgo-check-divide-overflow.
29         * gccgo.texi (Invoking gccgo): Document new options.
30
31 2012-03-22  Release Manager
32
33         * GCC 4.7.0 released.
34
35 2012-03-09  Ian Lance Taylor  <iant@google.com>
36
37         * go-gcc.cc (Gcc_backend::assignment_statement): Convert the rhs
38         to the lhs type if necessary.
39
40 2012-03-08  Ian Lance Taylor  <iant@google.com>
41
42         * go-gcc.cc (Gcc_backend::init_statement): Don't initialize a
43         zero-sized variable.
44         (go_non_zero_struct): New global variable.
45         (Gcc_backend::non_zero_size_type): New function.
46         (Gcc_backend::global_variable): Don't build an assignment for a
47         zero-sized value.
48         * go-c.h (go_non_zero_struct): Declare.
49         * config-lang.in (gtfiles): Add go-c.h.
50
51 2012-02-29  Ian Lance Taylor  <iant@google.com>
52
53         * go-gcc.cc (class Gcc_tree): Add set_tree method.
54         (set_placeholder_pointer_type): When setting to a pointer to
55         error, set to error_mark_node.
56
57 2012-02-23  Richard Guenther  <rguenther@suse.de>
58
59         * go-gcc.cc (Gcc_backend::placeholder_pointer_type): Use
60         build_distinct_type_copy.
61
62 2012-02-17  Ian Lance Taylor  <iant@google.com>
63
64         * Make-lang.in (go/import.o): Add dependency on $(GO_LEX_H).
65
66 2012-02-17  Ian Lance Taylor  <iant@google.com>
67
68         * gospec.c (lang_specific_driver): If linking, and no -o option
69         was used, add one.
70
71 2012-02-14  Ian Lance Taylor  <iant@google.com>
72
73         PR go/48411
74         * Make-lang.in (gccgo-cross$(exeext)): New target.
75         (go.all.cross): Depend on gccgo-cross$(exeext) instead of
76         gccgo$(exeext).
77         (go.install-common): Only install GCCGO_TARGET_INSTALL_NAME if
78         gccgo-cross$(exeext) does not exist.
79
80 2012-02-07  Ian Lance Taylor  <iant@google.com>
81
82         * gccgo.texi (Function Names): Document //extern instead of
83         __asm__.
84
85 2012-02-01  Jakub Jelinek  <jakub@redhat.com>
86
87         PR target/52079
88         * go-lang.c (go_langhook_type_for_mode): For TImode and 64-bit HWI
89         return build_nonstandard_integer_type result if possible.
90
91 2012-01-21  Ian Lance Taylor  <iant@google.com>
92
93         * go-gcc.cc (Gcc_backend::type_size): Check for error_mark_node.
94         (Gcc_backend::type_alignment): Likewise.
95         (Gcc_backend::type_field_alignment): Likewise.
96         (Gcc_backend::type_field_offset): Likewise.
97
98 2012-01-20  Ian Lance Taylor  <iant@google.com>
99
100         * go-gcc.cc (Gcc_backend::placeholder_struct_type): Permit name to
101         be empty.
102         (Gcc_backend::set_placeholder_struct_type): Likewise.
103
104 2012-01-17  Ian Lance Taylor  <iant@google.com>
105
106         * gospec.c (lang_specific_driver): If we see -S without -o, add -o
107         BASE.s rather than -o BASE.o.
108
109 2012-01-11  Ian Lance Taylor  <iant@google.com>
110
111         * go-lang.c (go_langhook_init): Initialize void_list_node before
112         calling go_create_gogo.
113
114 2012-01-10  Ian Lance Taylor  <iant@google.com>
115
116         * go-gcc.cc (Gcc_backend::type_size): New function.
117         (Gcc_backend::type_alignment): New function.
118         (Gcc_backend::type_field_alignment): New function.
119         (Gcc_backend::type_field_offset): New function.
120         * go-backend.c (go_type_alignment): Remove.
121         * go-c.h (go_type_alignment): Don't declare.
122
123 2011-12-27  Ian Lance Taylor  <iant@google.com>
124
125         * go-gcc.cc (Gcc_backend::set_placeholder_struct_type): Use
126         build_distinct_type_copy rather than build_variant_type_copy.
127         (Gcc_backend::set_placeholder_array_type): Likewise.
128         (Gcc_backend::named_type): Add special handling for builtin
129         basic types.
130
131 2011-12-22  Ian Lance Taylor  <iant@google.com>
132
133         * go-gcc.cc (Gcc_backend::set_placeholder_pointer_type): Arrange
134         for the type name to have a DECL_ORIGINAL_TYPE as gcc expects.
135         (Gcc_backend::set_placeholder_struct_type): Likewise.
136         (Gcc_backend::set_placeholder_array_type): Likewise.
137         (Gcc_backend::named_type): Set DECL_ORIGINAL_TYPE.
138
139 2011-12-13  Ian Lance Taylor  <iant@google.com>
140
141         * go-backend.c: #include "simple-object.h" and "intl.h".
142         (GO_EXPORT_SEGMENT_NAME): Define if not defined.
143         (GO_EXPORT_SECTION_NAME): Likewise.
144         (go_write_export_data): Use GO_EXPORT_SECTION_NAME.
145         (go_read_export_data): New function.
146         * go-c.h (go_read_export_data): Declare.
147
148 2011-11-29  Sanjoy Das  <thedigitalangel@gmail.com>
149             Ian Lance Taylor  <iant@google.com>
150
151         * go-location.h: New file.
152         * go-linemap.cc: New file.
153         * go-gcc.cc: Change all uses of source_location to Location.
154         * Make-lang.in (GO_OBJS): Add go/go-linemap.o.
155         (GO_LINEMAP_H): New variable.
156         (GO_LEX_H): Use $(GO_LINEMAP_H).
157         (GO_GOGO_H, GO_TYPES_H, GO_IMPORT_H): Likewise.
158         (go/go-linemap.o): New target.
159
160 2011-11-02  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
161
162         * Make-lang.in (gospec.o): Pass SHLIB instead of SHLIB_LINK.
163
164 2011-08-24  Roberto Lublinerman  <rluble@gmail.com>
165
166         * lang.opt: Add fgo-optimize-.
167         * go-lang.c (go_langhook_handle_option): Handle OPT_fgo_optimize.
168         * go-c.h (go_enable_optimize): Declare.
169         * Make-lang.in (GO_OBJS): Add go/go-optimize.o.
170         (GO_EXPORT_H): Define.
171         (GO_IMPORT_H): Add $(GO_EXPORT_H).
172         (GO_AST_DUMP_H): Define.
173         (go/ast-dump.o, go/statements.o): Use GO_AST_DUMP_H.
174         (go/export.o, go/gogo.o, go/import.o): Use GO_EXPORT_H.
175         (go/types.o): Likewise.
176         (go/expressions.o): Use GO_AST_DUMP_H and GO_EXPORT_H.
177         (go/go-optimize.o): New target.
178
179 2011-08-24  Joseph Myers  <joseph@codesourcery.com>
180
181         * Make-lang.in (CFLAGS-go/go-lang.o): New.
182         (go/go-lang.o): Remove explicit compilation rule.
183
184 2011-08-08  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
185
186         * Make-lang.in (gccgo$(exeext)): Add $(EXTRA_GCC_LIBS).
187
188 2011-08-02  Roberto Lublinerman  <rluble@gmail.com>
189
190         * Make-lang.in (GO_OBJS): Add go/ast-dump.o.
191         (go/ast-dump.o): New target.
192         (go/expressions.o): Depend on go/gofrontend/ast-dump.h.
193         (go/statements.o): Likewise.
194
195 2011-07-06  Richard Guenther  <rguenther@suse.de>
196
197         * go-lang.c (go_langhook_init):
198         Merge calls to build_common_tree_nodes and build_common_tree_nodes_2.
199
200 2011-06-14  Joseph Myers  <joseph@codesourcery.com>
201
202         * Make-lang.in (go/go-lang.o, go/go-backend.o): Update
203         dependencies.
204         * go-backend.c: Include common/common-target.h.
205         (go_write_export_data): Use targetm_common.have_named_sections.
206         * go-lang.c: Include common/common-target.h.
207         (go_langhook_init_options_struct): Use
208         targetm_common.supports_split_stack.
209
210 2011-06-13  Ian Lance Taylor  <iant@google.com>
211
212         * Make-lang.in (go/expressions.o): Depend on $(GO_RUNTIME_H).
213
214 2011-06-10  Ian Lance Taylor  <iant@google.com>
215
216         * go-gcc.cc: Include "toplev.h".
217         (Gcc_backend::immutable_struct): New function.
218         (Gcc_backend::immutable_struct_set_init): New function.
219         (Gcc_backend::immutable_struct_reference): New function.
220         * Make-lang.in (go/go-gcc.o): Depend on toplev.h.
221
222 2011-06-09  Ian Lance Taylor  <iant@google.com>
223
224         * go-gcc.cc (Gcc_backend::zero_expression): New function.
225
226 2011-06-07  Richard Guenther  <rguenther@suse.de>
227
228         * go-lang.c (go_langhook_init): Do not set
229         size_type_node or call set_sizetype.
230
231 2011-05-27  Ian Lance Taylor  <iant@google.com>
232
233         * go-backend.c: Include "output.h".
234         (go_write_export_data): New function.
235         * go-c.h (go_write_export_data): Declare.
236         * Make-lang.in (go/go-backend.o): Depend on output.h.
237         (go/export.o): Depend on $(GO_C_H).  Do not depend on
238         $(MACHMODE_H), output.h, or $(TARGET_H).
239
240 2011-05-24  Joseph Myers  <joseph@codesourcery.com>
241
242         * Make-lang.in (GCCGO_OBJS): Remove prefix.o.
243         (gccgo$(exeext)): Use libcommon-target.a.
244
245 2011-05-20  Joseph Myers  <joseph@codesourcery.com>
246
247         * Make-lang.in (GCCGO_OBJS): Remove intl.o and version.o.
248
249 2011-05-13  Ian Lance Taylor  <iant@google.com>
250
251         * go-gcc.cc (Gcc_backend::function_type): When building a struct
252         for multiple results, check that all fields types have a size.
253         (Gcc_backend::placeholder_pointer_type): Permit name to be empty.
254
255 2011-05-12  Ian Lance Taylor  <iant@google.com>
256
257         * go-gcc.cc (Gcc_backend::local_variable): Add is_address_taken
258         parameter.
259         (Gcc_backend::parameter_variable): Likewise.
260
261 2011-05-07  Eric Botcazou  <ebotcazou@adacore.com>
262
263         * go-lang.c (global_bindings_p): Return bool and simplify.
264
265 2011-05-05  Nathan Froyd  <froydnj@codesourcery.com>
266
267         * go-gcc.cc (Gcc_backend::switch_statement): Call build_case_label.
268
269 2011-05-04  Ian Lance Taylor  <iant@google.com>
270
271         * go-gcc.cc (Gcc_backend::struct_type): Call fill_in_struct.
272         (Gcc_backend::fill_in_struct): New function.
273         (Gcc_backend::array_type): Implement.
274         (Gcc_backend::fill_in_array): New function.
275         (Gcc_backend::placeholder_pointer_type): New function.
276         (Gcc_backend::set_placeholder_pointer_type): New function.
277         (Gcc_backend::set_placeholder_function_type): New function.
278         (Gcc_backend::placeholder_struct_type): New function.
279         (Gcc_backend::set_placeholder_struct_type): New function.
280         (Gcc_backend::placeholder_array_type): New function.
281         (Gcc_backend::set_placeholder_array_type): New function.
282         (Gcc_backend::named_type): New function.
283         (Gcc_backend::circular_pointer_type): New function.
284         (Gcc_backend::is_circular_pointer_type): New function.
285
286 2011-04-26  Ian Lance Taylor  <iant@google.com>
287
288         * go-gcc.cc (Gcc_backend::struct_type): Implement.
289
290 2011-04-25  Ian Lance Taylor  <iant@google.com>
291
292         * go-gcc.cc (Gcc_backend::error_type): Implement.
293         (Gcc_backend::string_type): Remove.
294         (Gcc_backend::function_type): Change signature and implement.
295         (Gcc_backend::struct_type): Change signature.
296         (Gcc_backend::slice_type, Gcc_backend::map_type): Remove.
297         (Gcc_backend::channel_type, Gcc_backend::interface_type): Remove.
298         (Gcc_backend::pointer_type): Check for error.
299         * Make-lang.in (go/types.o): Depend on go/gofrontend/backend.h.
300
301 2011-04-25  Evan Shaw  <edsrzf@gmail.com>
302
303         * go-gcc.c (class Gcc_tree): Make get_tree const.
304         (Gcc_backend::void_type): Implement.
305         (Gcc_backend::bool_type): Implement.
306         (Gcc_backend::integer_type): Implement.
307         (Gcc_backend::float_type): Implement.
308         (Gcc_backend::complex_type): New function.
309         (Gcc_backend::pointer_type): New function.
310         (Gcc_backend::make_type): New function.
311         (type_to_tree): New function.
312
313 2011-04-21  Ian Lance Taylor  <iant@google.com>
314
315         * go-system.h (go_assert, go_unreachable): Define.
316
317 2011-04-19  Ian Lance Taylor  <iant@google.com>
318
319         * go-system.h: Include "intl.h".
320         * Make-lang.in (GO_SYSTEM_H): Add intl.h.
321         (go/statements.o): Remove dependencies on intl.h $(TREE_H)
322         $(GIMPLE_H) convert.h tree-iterator.h $(TREE_FLOW_H) $(REAL_H).
323
324 2011-04-19  Ian Lance Taylor  <iant@google.com>
325
326         * go-gcc.cc (Gcc_backend::temporary_variable): New function.
327
328 2011-04-19  Ian Lance Taylor  <iant@google.com>
329
330         * go-gcc.cc (class Bblock): Define.
331         (Gcc_backend::if_statement): Change then_block and else_block to
332         Bblock*.
333         (Gcc_backend::block): New function.
334         (Gcc_backend::block_add_statements): New function.
335         (Gcc_backend::block_statement): New function.
336         (tree_to_block, block_to_tree): New functions.
337
338 2011-04-18  Ian Lance Taylor  <iant@google.com>
339
340         * go-gcc.cc: Include "go-c.h".
341         (class Bvariable): Define.
342         (Gcc_backend::init_statement): New function.
343         (Gcc_backend::global_variable): New function.
344         (Gcc_backend::global_variable_set_init): New function.
345         (Gcc_backend::local_variable): New function.
346         (Gcc_backend::parameter_variable): New function.
347         (tree_to_type, var_to_tree): New functions.
348         * Make-lang.in (go/go-gcc.o): Depend on $(GO_C_H).
349         * (go/gogo-tree.o): Depend on go/gofrontend/backend.h.
350
351 2011-04-15  Ian Lance Taylor  <iant@google.com>
352
353         * go-gcc.cc (Gcc_backend::compound_statement): New function.
354         (Gcc_backend::assignment_statement): Use error_statement.
355         (Gcc_backend::return_statement): Likewise.
356         (Gcc_backend::if_statement): Likewise.
357         (Gcc_backend::switch_statement): Likewise.
358         (Gcc_backend::statement_list): Likewise.
359
360 2011-04-14  Ian Lance Taylor  <iant@google.com>
361
362         * go-gcc.cc (Backend::error_statement): New function.
363
364 2011-04-13  Ian Lance Taylor  <iant@google.com>
365
366         * Make-lang.in (go/gogo-tree.o): depend on $(GO_RUNTIME_H).
367
368 2011-04-13  Ian Lance Taylor  <iant@google.com>
369
370         * Make-lang.in (GO_OBJS): Add go/runtime.o.
371         (GO_RUNTIME_H): New variable.
372         (go/runtime.o): New target.
373         (go/gogo.o): Depend on $(GO_RUNTIME_H).
374         (go/statements.o): Likewise.
375
376 2011-04-12  Nathan Froyd  <froydnj@codesourcery.com>
377
378         * go-lang.c (union lang_tree_node): Check for TS_COMMON before
379         calling TREE_CHAIN.
380
381 2011-04-06  Ian Lance Taylor  <iant@google.com>
382
383         * go-gcc.cc (if_statement): Use build3_loc.
384         (Gcc_backend::switch_statement): New function.
385         (Gcc_backend::statement_list): New function.
386
387 2011-04-06  Ian Lance Taylor  <iant@google.com>
388
389         * go-gcc.cc (Gcc_backend::if_statement): New function.
390         (tree_to_stat): New function.
391         (expr_to_tree): Renamed from expression_to_tree.
392         (stat_to_tree): Renamed from statement_to_tree.
393
394 2011-04-06  Ian Lance Taylor  <iant@google.com>
395
396         * go-gcc.cc (Gcc_backend::expression_statement): New function.
397
398 2011-04-04  Ian Lance Taylor  <iant@google.com>
399
400         * go-gcc.c (class Blabel): Define.
401         (Gcc_backend::make_expression): New function.
402         (get_identifier_from_string): New function.
403         (Gcc_backend::label): New function.
404         (Gcc_backend::label_definition_statement): New function.
405         (Gcc_backend::goto_statement): New function.
406         (Gcc_backend::label_address): New function.
407         (expression_to_tree): New function.
408         * Make-lang.in (go/expressions.o): Depend on
409         go/gofrontend/backend.h.
410         (go/gogo.o): Likewise.
411
412 2011-04-04  Ian Lance Taylor  <iant@google.com>
413
414         * go-gcc.cc: #include "tree-iterator.h", "gimple.h", and "gogo.h".
415         (class Bfunction): Define.
416         (Gcc_backend::assignment_statement): Rename from assignment.
417         Check for errors.
418         (Gcc_backend::return_statement): New function.
419         (tree_to_function): New function.
420         * Make-lang.in (go/go-gcc.o): Depend on tree-iterator.h,
421         $(GIMPLE_H), and $(GO_GOGO_H).
422
423 2011-04-03  Ian Lance Taylor  <iant@google.com>
424
425         * go-gcc.cc: New file.
426         * Make-lang.in (GO_OBJS): Add go/go-gcc.o.
427         (go/go-gcc.o): New target.
428         (go/go.o): Depend on go/gofrontend/backend.h.
429         (go/statements.o): Likewise.
430
431 2011-02-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
432
433         * gccgo.texi (Top, Import and Export): Fix a typo and a markup nit.
434
435 2011-02-08  Ian Lance Taylor  <iant@google.com>
436
437         * go-lang.c (go_langhook_init_options_struct): Set
438         frontend_set_flag_errno_math.  Don't set x_flag_trapping_math.
439
440 2011-01-31  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>
441
442         * gospec.c (lang_specific_driver) [HAVE_LD_STATIC_DYNAMIC] Use
443         LD_STATIC_OPTION, LD_DYNAMIC_OPTION.
444
445 2011-01-21  Ian Lance Taylor  <iant@google.com>
446
447         * go-lang.c (go_langhook_init): Omit float_type_size when calling
448         go_create_gogo.
449         * go-c.h: Update declaration of go_create_gogo.
450
451 2011-01-13  Ian Lance Taylor  <iant@google.com>
452
453         * go-backend.c: Include "rtl.h" and "target.h".
454         (go_imported_unsafe): New function.
455         * go-c.h (go_imported_unsafe): Declare.
456         * Make-lang.in (go/go-backend.o): Depend on $(RTL_H).
457         (go/gogo-tree.o): Remove dependency on $(RTL_H).
458         (go/unsafe.o): Depend on $(GO_C_H).
459
460 2010-12-31  Joern Rennecke  <amylaar@spamcop.net>
461
462         PR go/47113
463         * go-backend.c: (go_field_alignment): Add ATTRIBUTE_UNUSED to
464         variable ‘field’ .
465
466 2010-12-21  Ian Lance Taylor  <iant@google.com>
467
468         * Make-lang.in (check-go): Remove.
469         (lang_checks_parallelized): Add check-go.
470         (check_go_parallelize): Set.
471
472 2010-12-13  Ian Lance Taylor  <iant@google.com>
473
474         * gospec.c (lang_specific_driver): Add a -o option if not linking
475         and there is no -o option already.
476
477 2010-12-07  Ian Lance Taylor  <iant@google.com>
478
479         PR tree-optimization/46805
480         PR tree-optimization/46833
481         * go-lang.c (go_langhook_type_for_mode): Handle vector modes.
482
483 2010-12-06  Ian Lance Taylor  <iant@google.com>
484
485         PR other/46789
486         PR bootstrap/46812
487         * go-lang.c (go_char_p): Define type and vectors.
488         (go_search_dirs): New static variable.
489         (go_langhook_handle_option): Use version and version/machine
490         directories for -L.
491         (go_langhook_post_options): Add non-specific -L paths.
492         * Make-lang.in (go/go-lang.o): Define DEFAULT_TARGET_VERSION and
493         DEFAULT_TARGET_MACHINE when compiling.
494         * gccgo.texi (Invoking gccgo): Only document -L for linking.
495         (Import and Export): Don't mention -L for finding import files.
496
497 2010-12-03  Ian Lance Taylor  <iant@google.com>
498
499         PR bootstrap/46776
500         * go-backend.c: New file.
501         * go-c.h (go_type_alignment): Declare.
502         (go_field_alignment, go_trampoline_info): Declare.
503         * Make-lang.in (GO_OBJS): Add go/go-backend.o.
504         (go/go-backend.o): New target.
505         (go/go-lang.o): Make dependencies match source file.
506         (go/expressions.o): Don't depend on $(TM_H) $(TM_P_H).
507         (go/gogo-tree.o): Don't depend on $(TM_H).
508
509 2010-12-03  Ian Lance Taylor  <iant@google.com>
510
511         * config-lang.in (build_by_default): Set to no.
512
513 2010-12-02  Ian Lance Taylor  <iant@google.com>
514
515         Go frontend added to gcc repository.