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