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