OSDN Git Service

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